Proactive Execution MachineProactive Execution Machine: Multi-State Momentum Engine
Overview
The Proactive Execution Machine is a comprehensive trading workspace designed to filter market noise and highlight high-probability execution windows. It combines Dynamic Supply/Demand Zones, Manual Level Proximity, and a proprietary Dual-Candle Momentum Scoring system to categorize the market into specific "States" in real-time.
Instead of a simple arrow, this script provides a System Status dashboard that tells you exactly what phase the market is in—whether it's "Level Absorption," a "Demand Vortex," or a "Tired Trend. "Core Components
1. The Momentum Gauge (Bottom Left)
This table provides a deep-dive into order flow by scoring the last two candles based on:
Close Location: Where price closed relative to its range (Upper, Middle, Lower).
Body-to-Wick Ratio: Measuring the "effort vs. result" of the move.
Range Relativity: Whether the current bar is an "Inside" or "Outside" bar relative to the previous candle.
Slope (Linear Regression): A real-time trendline of momentum strength to see if conviction is accelerating or decelerating.
2. Dynamic State Engine The script automatically identifies and colors the chart into three primary zones:
Supply Zone (Red): The upper 30% of the recent price discovery range.
Demand Zone (Green): The lower 30% of the recent price discovery range.
Proximity Zones: When price nears your Manual Levels (PDH, PDL, NY Open, etc.), the engine switches priority to monitor for "Breakouts" or "Level Attacks."
3. System Status (Bottom Right)The dynamic HUD changes size and color based on conviction levels. It will notify you of specific market conditions:
Supply/Demand Overrun: When momentum is so strong it is smashing through reversal zones. Level Absorption/Stalling: When price reaches a key level but momentum has "flattened," suggesting a potential reversal or high-volume churn.
Buy/Sell Now: High-conviction signals triggered only when Location (Zone) and Momentum (Score) align.
How to Trade with the "Machine"
For Trend Followers: Look for the status "TREND (ACTIVE)" combined with a Momentum Score of $\pm 4$ or higher.
For Reversion Traders: Watch for "WATCH LONGS/SHORTS" when price enters a Supply or Demand zone. Wait for the status to flip to "BUY/SELL NOW" as momentum begins to shift back toward the mean.
For Level Traders: Input your daily levels (VAH, VAL, POC) in the settings. The machine will automatically prioritize these levels, changing status to "AT LEVEL" the moment price enters your specified proximity.
Key Settings
Manual Levels: Input up to 5 custom price levels for the proximity engine.
Proximity Sensitivity: Adjust how close price must be to a level (in points/pips) to trigger an "At Level" state.
Aggression (1-5): Tuning the pivot detection. Lower numbers respond faster to micro-structure; higher numbers focus on major swing points.
Visual Coding
Candle bodies are colored to assist with single candle pattern detection:
Lime/Pink Bar Highlights: The script uses a custom color engine to highlight "Shaved" (Marubozu) bars.
Lime indicates aggressive bullish conviction, while Pink (Fuchsia) highlights aggressive bearish conviction.
Green indicates bull engulfing candle
Red indicates bear engulfing candle
Orange is an outside bar
Yellow an inside bar
Gray a Doji bar
Black all other bars
Dynamic Zones: The chart features two primary background areas:
Red Zone (Top): The Supply Zone, identifying where sellers historically reclaim control.
Green Zone (Bottom): The Demand Zone, identifying where buyers historically step in.
System Status HUD (Bottom Right): This is the "brain" of the machine. The text size is adjusted to attract the trader's attention when the slope of the momentum increases above 5 (bullish expansion) or greater than - 5 (Bearish expansion). The system status changes color based on the market state too:
HUD Coloring:
Aqua: Active Bullish Trend.
Gray: Bull trend tired.
Orange: Active Bearish Trend.
Gray: Bear trend tired.
Red: For sell now.
Green: For buy now.
Lime: Bull price level under attack.
Marron: Bear price level under attack.
Gray: Price level absorption.
Yellow: Price at level and stalling.
Maroon: An "Overrun" or "Vortex" where price is smashing through supply/demand with extreme momentum.
The text size serves as a "Volatility Alarm." * When the text is Small, the market is in a "sideways" or "absorbing" state. You should be cautious about entering new trend trades.
When the text is Large, the Machine has detected that "Aggressive" participants have entered the order flow. This is your cue that a "Level Attack" or a "Trend Breakout" is currently in progress.
The 1-Minute Tactical Setup Guide:
Proactive Execution Machine Operating on the 1-minute (1m) timeframe requires a balance between speed and noise filtration. Because the Proactive Execution Machine uses a "State Engine" logic, it is uniquely suited for the high-velocity environment of the NY Open.
I follow these three tactical steps to optimize the chart for the 1m timeframe:
Step 1: Calibrate the "Proximity Sensitivity" On a 1m chart, a "Level" isn't a single price—it's a zone.
Adjustment: In the script settings, set your Proximity Sensitivity to a value that represents the average "noise" of your instrument.
For ES (S&P 500 Futures): 1.5 to 2.5 points.
For NQ (Nasdaq Futures): 5 to 10 points.
For Forex (EURUSD): 1 to 2 pips.
The Goal: You want the "AT LEVEL" status to trigger just as price is "sniffing" the level, giving you time to prepare your order before the touch.
Step 2: Watch the "History" Column in the Momentum Gauge
The bottom-left table is your most important tool for the 1m chart. It shows you the momentum of the last three bars ($T-0$, $T-1$, $T-2$).
Momentum Sequence: Look for a "Sequence of Three." If you see $T-2$ (Neutral), $T-1$ (Long), and $T-0$ (STR Long), you have a momentum explosion.
The Trap: If you see STR LONG followed immediately by a NEUTRAL bar while in a Supply Zone, the "Machine" will shift to "SUPPLY STALLING." This is your signal to tighten your trailing stop or take profit—it means the bulls are hitting a wall of sell orders.
Step 3: The "Level Attack" Execution
The script features a unique state called "LEVEL ATTACK." This is designed specifically for breakout/breakdown traders.
The Setup: Price is approaching a Manual Level (like the NY Open or PDH).
The Signal: If the status changes to "LEVEL ATTACK (BULL)," it means the momentum score is high ($>3$) and the slope is positive while within the proximity of the level.
The Action: This is a "Proactive" entry. Instead of waiting for the candle to close above the level, you are entering as the "Machine" detects institutional pressure "attacking" the level.
Daily Routine for the "Machine"
1) 09:25 AM: Input your 5 manual levels (PDH, PDL, NY Open, VAH, VAL).
2) 09:30 AM: Wait for the first 5 minutes of volatility to settle.
3) The Window: Look for the System Status to move from "IDLE" to a colored state.
4) The Trigger: Never take a signal if the Momentum Gauge is in the "Neutral" (Yellow) zone. Only execute when the gauge shows LONG/SHORT or STR LONG/STR SHORT.
"Buy sell" için komut dosyalarını ara
Liquidity Sweep Sniper AP StyleAP Capital – Liquidity Sweep Sniper (Fab-Style)
📌 Overview
This indicator is a precision scalping tool inspired by professional liquidity-based trading concepts often demonstrated by elite intraday scalpers.
The script focuses on liquidity sweeps followed by strong displacement, aiming to capture short, high-probability momentum moves — particularly effective on lower timeframes (1–5 min) during active market sessions.
It is not a signal spam tool. Signals appear only when multiple objective conditions align.
🧠 Core Concept
Markets do not move randomly — they seek liquidity before expanding.
This indicator identifies:
Buy-side / Sell-side liquidity
Liquidity sweeps (stop-hunts)
Strong displacement candles reclaiming price
Optional higher-timeframe trend alignment
Only when all conditions are met does a signal print.
🔍 What the Indicator Detects
1️⃣ Liquidity Pools
Equal highs or equal lows detected within a configurable lookback
Minimum number of touches required
ATR-based tolerance to adapt to volatility
These levels represent areas where stop orders are likely resting.
2️⃣ Liquidity Sweep
A valid sweep requires:
Price to wick beyond the liquidity level
Candle to close back inside the range
This indicates failed breakout / stop-hunt behaviour.
3️⃣ Displacement Confirmation
After the sweep, the candle must show:
Strong body (default >60% of candle range)
Candle range large relative to ATR
Clear directional intent (momentum)
This filters out weak reactions and chop.
4️⃣ Optional Trend Filter
EMA-based higher-timeframe bias
Helps align scalps with dominant direction
Can be enabled or disabled
📈 Signals
BUY: Sell-side liquidity sweep → bullish displacement
SELL: Buy-side liquidity sweep → bearish displacement
Signals are plotted directly on the chart and can be used with alerts.
⚙️ Recommended Usage
Markets: XAUUSD, indices, liquid FX pairs
Timeframes: 1m–5m
Sessions: London & New York (best performance)
Risk Management: Always required — this tool does not place trades
Best used as a confirmation tool, not standalone.
⚠️ Important Notes
This indicator is inspired by liquidity-based scalping concepts, not an exact replication of any individual trader’s private strategy.
No indicator predicts the future — this tool highlights high-probability scenarios, not guarantees.
Past performance is not indicative of future results.
UK100 London Judas & IFVG SetupUK100 London Judas & IFVG Setup
Overview This indicator is a specialized trading tool designed to automate the ICT Judas Swing strategy specifically for the UK100 (FTSE 100) index during the London Market Open. It combines institutional time-based logic with price action confirmation using Inversion Fair Value Gaps (IFVG) to identify high-probability reversal setups.
How It Works The strategy is based on the concept that the initial move after the London Open is often a "fake-out" (manipulation) designed to trap retail traders and engineer liquidity before the true trend of the day begins.
Session & Opening Price:
The script marks the London Open price (default 09:00 Warsaw / 08:00 London time) with a dashed line.
This serves as the "line in the sand." Prices moving away from this line initially are monitored for manipulation.
Judas Swing (Liquidity Sweep):
If price moves BELOW the open, it is hunting Sell-Side Liquidity (trapping sellers).
If price moves ABOVE the open, it is hunting Buy-Side Liquidity (trapping buyers).
The Entry Trigger: Inversion FVG (IFVG):
The indicator scans for Fair Value Gaps (FVG) created during the manipulation phase.
BUY Signal: The price manipulates lower, creates a Bearish FVG (Red Box), but then aggressively reverses and closes ABOVE that gap. The gap is now "Inverted" (turns Green), acting as support.
SELL Signal: The price manipulates higher, creates a Bullish FVG (Green Box), but then aggressively reverses and closes BELOW that gap. The gap is now "Inverted" (turns Orange), acting as resistance.
Key Features
Automated Pattern Recognition: No need to manually draw gaps. The script detects valid FVG inversions that align with the Judas Swing logic.
Built-in Risk Calculator: The signal labels display the exact Lot Size you should use based on your account balance and risk percentage (default 0.5%). It calculates this dynamically based on the Stop Loss distance.
Institutional Targets: The indicator fetches H1 Fractals (Liquidity) from the 1-hour timeframe and plots them on your 1-minute chart as blue lines. These are your primary Take Profit (TP) levels.
Stop Loss Visualization: Automatically suggests a Stop Loss placement behind the swing high/low of the reversal structure.
How to Use
Timeframe: Set your chart to 1 Minute (1m).
Asset: UK100 (FTSE 100).
Wait: Allow the London session to open. Watch for price to move away from the opening line.
Execute: When a BUY or SELL label appears:
Enter the trade using the Lot Size shown on the label.
Set your Stop Loss at the price shown on the label.
Target the blue H1 Liquidity lines for profit taking.
Settings
Timezone: Set this to your chart/exchange timezone (Default: Europe/Warsaw).
Account Balance: Input your current trading capital (e.g., 100,000) for accurate risk calculations.
Risk Per Trade %: The percentage of your account you are willing to lose if the Stop Loss is hit (Standard: 0.5% - 1.0%).
Contract Size: The value of 1 point movement (Check your broker's specifications. Usually 1 for CFDs).
Alerts You can set a single alert in TradingView to capture all signals. Select the indicator and choose "Any alert() function call". You will receive a notification with the direction (Buy/Sell), Entry Price, and Lot Size.
HTF Frequency Zone [BigBeluga]🔵 OVERVIEW
HTF Frequency Zone highlights the dominant price level (Point of Control) and the full high–low expansion of any higher timeframe — Daily, Weekly, or Monthly. It captures the frequency of closes inside each HTF candle and plots the most traded “frequency zone”, allowing traders to easily see where price spent the most time and where buy/sell pressure accumulated.
This tool transforms each higher-timeframe bar into a fully visualized structure:
• Top = HTF high
• Bottom = HTF low
• Midline = HTF Frequency POC
• Color-coded zones = bullish or bearish bias
• Labels = counts of bullish and bearish candles inside the HTF range
It is designed to give traders an immediate understanding of high-timeframe balance, imbalance, and price attraction zones.
🔵 CONCEPTS
HTF Partitioning — Each Weekly/Daily/Monthly candle is converted into a dedicated zone with its own High, Low, and Frequency Point of Control.
Frequency POC (Most Touched Price) — The indicator divides the HTF range into 100 bins and counts how many times price closed near each level.
Dominant Zone — The level with the highest frequency becomes the HTF “Value Zone,” plotted as a bold central line.
Directional Bias —
• Bullish HTF zone
• Bearish HTF zone
Internal Candle Counting — Within each HTF period the indicator counts:
• Buy candles (close > open)
• Sell candles (close < open)
This reveals whether intraperiod flow was bullish or bearish.
HTF Structure Blocks — High, Low, and POC are connected across the entire higher-timeframe duration, showing the real shape of HTF balance.
🔵 FEATURES
Automatic HTF Zone Construction — Generates a complete price zone every time the selected timeframe flips (Daily / Weekly / Monthly).
Dynamic High & Low Extraction — The indicator scans every bar inside the HTF window to find true extremes of the range.
100-Level Frequency Scan — Each close within the period is assigned to a bin, creating a detailed distribution of price interaction.
HTF POC Highlighting — The most frequent price level is plotted with a bold red line for immediate visual clarity.
Bull/Bear Coloring —
• Green → Bullish HTF zone.
• Orange → Bearish HTF zone.
Zone Shading — High–Low range is filled with a semi-transparent color matching trend direction.
Buy/Sell Candle Counters — Printed at the top and bottom of each HTF block, showing how many internal candles were bullish or bearish.
POC Label — Displays frequency count (how many touches) at the POC level.
Adaptive Threshold Warning — If bars inside the HTF window are too few (<10), the indicator warns the trader to switch timeframe.
🔵 HOW TO USE
Higher-Timeframe Biasing — Read the zone color to determine if the HTF candle leaned bullish or bearish.
Value Zone Reactions — Price often reacts to the Frequency POC; use it as support/resistance or liquidity magnet.
Range Context — Identify when price is trading near HTF highs (breakout potential) or lows (reversal potential).
Momentum Evaluation — More bullish internal candles = internal buying pressure; more bearish = internal selling pressure.
Swing Trading — Use HTF zones as the “macro map,” then execute trades on lower timeframes aligned with the zone structure.
Liquidity Awareness — The HTF POC often aligns with algorithmic liquidity levels, making it a strong reaction point.
🔵 CONCLUSION
HTF Frequency Zone transforms raw higher-timeframe candles into detailed distribution zones that reveal true market behavior inside the HTF structure. By showing highs, lows, buying/selling activity, and the most interacted price level (Frequency POC), this tool becomes invaluable for traders who want to align executions with powerful HTF levels, liquidity magnets, and structural zones.
Execution Heatmap v4.1 — AI EnhancedThis indicator is an AI‑style execution dashboard that compresses structure, momentum, volume, volatility, and risk into a compact heatmap panel plus BUY/SELL signals on the chart. It is specifically tuned for gold and silver, automatically adapting its thresholds to the volatility profile of XAU/GC and XAG/SI symbols.
Core architecture
The system builds a multi‑factor model in layers:
Adaptive structure engine: Tracks dynamic higher‑high / lower‑low progression using rolling reference highs and lows, classifying price as structural UP, DOWN, or NEUTRAL.
Precision VWAP bias: Uses VWAP with a small threshold band to filter out noise and label price as ABOVE, BELOW, or neutral relative to value.
Impulse & angle: Combines short‑term rate of change and normalized slope (price vs ATR over 5 bars) to detect directional thrust, then clamps values into
for stable scoring.
Volume, wicks, and patterns
Adaptive volume tiers: Uses a 20‑bar volume average with gold/silver‑specific multipliers to tag candles as SURGE, HIGH, NORMAL, or LOW volume, with distinct coloring for extremes.
Wick analytics: Measures upper/lower wick size vs total range to detect demand/supply style rejections and encode them as bullish or bearish wick signals.
AI pattern score: Blends structure, VWAP, impulse, wicks, and angle into a normalized pattern score, then classifies it as STRONG↑, NEU↑, NEU, NEU↓, or STRONG↓ with color‑coded emphasis.
AI scoring and prediction layer
Predictive engine: Uses a neural‑network‑style weighted sum of structure, VWAP, impulse, wicks, angle, volume, and pattern to generate a prediction score in
, then converts it into a percentage and arrow (↑, ↑↑, ↓, ↓↓, →) for intuitive directional bias.
Execution score: Aggregates key factors into an EXEC score (0–200+ style scale), color‑graded from weak (red) through medium (orange) to strong (green) execution context.
Uncertainty & risk: Separately models uncertainty (low impulse/angle or low conviction) and risk (fake breaks, VWAP position, uncertainty tier, low volume), then feeds them into a combined confidence calculation.
Final signal & confidence
Final classification:
BUY: High exec score, high confidence, and controlled risk.
SELL: Very low exec score, low confidence in upside, and acceptable risk.
WAIT: All other conditions where edge or clarity is insufficient.
Confidence bar: A textual mini‑bar (🟩 blocks) plus percentage shows how strong the current signal environment is, making it easy to visually gauge setup quality at a glance.
Professional heatmap panel
A two‑column table in the top‑right of the chart organizes the logic into layers:
Base layer: STRUCT, VWAP, IMPULSE, VOLUME.
AI layer: FAKE, REGIME (Trend/Pullback/Reverse/Chop), ANGLE.
Decision layer: PATTERN, PREDICT, EXEC, RISK, CONF, and FINAL direction.
Execution Heatmap v8 — Classic Blocks (Final Logic)This indicator visualizes real-time market context through a structured execution heatmap, representing multiple analytic dimensions in a compact on-chart panel. Designed for traders who rely on confluence-based decision making, it tracks the shifting behavior of price, volume, and structural regimes to help identify momentum shifts, exhaustion points, and directional conviction.
🔶 Overview
The Execution Heatmap v8 consolidates key elements from trend, volume, and momentum analysis into a single panel. Each row represents a core component of the execution model, colored dynamically to reflect bullish, bearish, neutral, or mixed states. The final block produces a BUY, SELL, or SELL-ALERT classification — fully aligned with the internal logic of the GOLDMASTER‑HUD framework.
🔸 Core Logic Components
VWAP Direction: Detects price bias relative to VWAP (overextended, below value, or neutral).
Impulse Engine: Evaluates momentum using RSI and MFI thresholds to determine directional energy.
Volume Surge: Highlights aggressive volume imbalances and determines the dominant side (bull or bear).
Fake Break Detection: Identifies false breakouts at recent swing extremes to flag potential reversals.
Regime Filter: Measures underlying trend structure using dual‑EMA alignment (20/50 EMA).
Pattern Recognition: Detects emerging HL (higher low) or LH (lower high) structures.
Structure Strength: Maps strong vs. weak structural phases based on regime and pattern alignment.
Final Signal Engine: Synthesizes all modules into actionable classifications:
BUY: Price structure supports trend continuation.
SELL‑ALERT: Early weakness or exhaustion detected within a strong up‑trend.
SELL: Confirmed reversal alignment (momentum, VWAP, volume, and structure all bearish).
WAIT: Caution when conditions remain inconclusive.
🟩🟥 Color‑Coded Heat Blocks
Each metric is represented as a colored cell:
Green: Bullish / upward bias
Red: Bearish / downward bias
Yellow: Neutral / weak / mixed
Dark gray: Undefined or transitional
⚙️ Customization
Adjustable panel position (bottom‑right, bottom‑left, top‑right, top‑left).
Non‑intrusive table layout optimized for overlaying on active charts.
Lightweight execution with minimal resource load, ideal for intraday use.
Volume Flow Anatomy [Kodexius]Volume Flow Anatomy is a dynamic, multi-dimensional volume map that reconstructs how buy, sell, and “stealth” activity is distributed across price rather than just across time. Instead of relying on a static, session-based volume profile, it uses an exponentially decaying memory of recent bars to build a constantly evolving “anatomy” of the auction, where each price level carries an adaptive history of order flow.
The script separates buy vs. sell pressure, adds a third “Stealth Flow” dimension for low-volume price movement (ease of movement / divergence), and automatically derives POC, Value Area, imbalances, absorption zones, and classic profile shapes (D, P, b, B). This gives the trader a compact but highly information-dense map on the right side of the chart to read control (buyers vs. sellers), structure (balanced vs. trending vs. double distribution), and key reaction levels (support/resistance born from flow, not just wicks).
🔹 Features
🔸 Dynamic Lookback with Decay
- The script computes an effective lookback N from the Decay Factor and caps it with Max Lookback.
- Higher decay keeps more history; lower decay emphasizes the most recent flow.
- The profile continuously adapts as new bars are printed.
🔸 Price-Bucketed Flow Map
Each bucket accumulates:
- Sell Flow (sell pressure)
- Buy Flow (buy pressure)
- Stealth Flow (low-volume price movement)
- Box width at each bucket is proportional to the relative intensity of that component.
🔸 Stealth Flow (Low-Volume Price Movement)
- Measures close to close movement relative to volume, emphasizing price movement that occurs on comparatively low volume.
- Helps reveal hidden participation, inefficient moves, and areas that may be vulnerable to re-tests or reversions.
🔸 POC & 70% Value Area (VA)
- Identifies the Point of Control (price bucket with the highest total volume) over the effective lookback.
- Builds a 70% Value Area by expanding from POC towards the nearest high volume neighbors until 70% of the total volume is included.
- POC is drawn as a line over the analyzed range; VA is displayed as a shaded band in the profile area.
🔸 Market Profile Shape Detection
Splits the profile vertically into three zones (bottom / middle / top) and compares their volume distribution.
Classifies structure as:
- D-Shape (Balanced)
- P-Shape (Short Covering)
- b-Shape (Long Liquidation)
- B-Shape (Double Distribution)
Displays a shape label with color coded bias for quick auction context interpretation.
🔸 Imbalance Zones & Absorption
Imbalance: detects buckets where Buy Flow or Sell Flow exceeds the opposite side by at least Imbalance Ratio.
Absorption: flags zones with high volume but low price “ease”, where price is not moving much despite significant volume.
Extends these levels into horizontal zones, marking potential support/resistance and trap areas.
Bullish Imbalance Zone :
Bearish Imbalance Zone :
Absorption Zone :
🔸 Range Context & On-Chart Legend
Draws a Range Box covering the dynamically determined lookback (N bars), with a label displaying the effective bar count.
A bottom-right legend summarizes:
- Color keys for Buy / Sell / Stealth
- POC / VA status
- Bullish vs. Bearish dominance percentage
- Profile shape classification
- Imbalance and Absorption conventions
🔹 Calculations
1. Dynamic Lookback & Price Buckets
int N = math.min(int(4 / (1 - decayFactor) - 1), maxHistory)
float priceHigh = ta.highest(high, N)
float priceLow = ta.lowest(low, N)
float bucketSize = (priceHigh - priceLow) / bucketCount
The effective lookback N is derived from the Decay Factor, using the approximation 4 / (1 - decay) to capture roughly 99% of the decayed influence, then capped with maxHistory to control performance. Over that adaptive range, the script finds the highest and lowest prices and divides the band into bucketCount equal slices (bucketSize). Each slice is a price bucket that will accumulate volume-flow information.
2. Exponentially Decayed Volume Allocation
addValue(array profile, float weight, float minPrice, float maxPrice) =>
for j = 0 to bucketCount - 1
float bucketMin = priceLow + j * bucketSize
float bucketMax = bucketMin + bucketSize
float overlapMin = math.max(minPrice, bucketMin)
float overlapMax = math.min(maxPrice, bucketMax)
float overlapRange = overlapMax - overlapMin
if overlapRange > 0
profile.set(j, profile.get(j) * decayFactor + weight * overlapRange)
This function is the core engine of the indicator. For a given price span and intensity, it checks every bucket for overlap, distributes the weight proportionally to the overlapping range, and before adding new value, decays the existing bucket content by decayFactor. This results in an exponentially weighted profile: recent activity dominates, while older levels retain a gradually fading footprint.
3. POC and 70% Value Area
array totalProfile = array.new(bucketCount, 0)
for j = 0 to bucketCount - 1
float total = sellProfile.get(j) + buyProfile.get(j)
totalProfile.set(j, total)
if total > eaMax
eaMax := total
int pocIdx = 0
float pocVal = 0.0
for j = 0 to bucketCount - 1
if totalProfile.get(j) > pocVal
pocVal := totalProfile.get(j)
pocIdx := j
float totalSum = totalProfile.sum()
float targetSum = totalSum * 0.70
int vaLow = pocIdx
int vaHigh = pocIdx
float currentSum = pocVal
while currentSum < targetSum and (vaLow > 0 or vaHigh < bucketCount - 1)
float lowVal = vaLow > 0 ? totalProfile.get(vaLow - 1) : 0.0
float highVal = vaHigh < bucketCount - 1 ? totalProfile.get(vaHigh + 1) : 0.0
First, totalProfile is built as the sum of buy and sell flow per bucket, and eaMax (the maximum total) is tracked for later normalization. The POC bucket (pocIdx) is simply the index with the highest totalProfile value.
To compute the 70% Value Area, the algorithm starts at the POC bucket and expands outward, each step adding either the upper or lower neighbor depending on which has more volume. This continues until the cumulative volume reaches 70% of totalSum. The result is a volume-driven VA, not necessarily symmetric around POC, which more accurately represents where the market has truly traded.
4. Market Profile Shape Classification
float volTopThird = 0.0
float volMidThird = 0.0
float volBotThird = 0.0
int thirdIdx = int(bucketCount / 3)
for j = 0 to bucketCount - 1
float val = totalProfile.get(j)
if j < thirdIdx
volBotThird += val
else if j < thirdIdx * 2
volMidThird += val
else
volTopThird += val
float totalVolShape = totalProfile.sum()
string shapeStr = "D-Shape (Balanced)"
if (volTopThird > totalVolShape * 0.20) and (volBotThird > totalVolShape * 0.20) and (volMidThird < totalVolShape * 0.50)
shapeStr := "B-Shape (Double Dist)"
else
if pocIdx > bucketCount * 0.5 and volTopThird > volBotThird * 1.3
shapeStr := "P-Shape (Short Covering)"
else if pocIdx < bucketCount * 0.5 and volBotThird > volTopThird * 1.3
shapeStr := "b-Shape (Long Liquidation)"
else
shapeStr := "D-Shape (Balanced)"
The profile is split into bottom, middle, and top thirds. The script compares how much volume is concentrated in each and combines that with the relative location of POC. If both extremes are heavy and the middle light, it labels a B-Shape (double distribution). If the POC is high and the top dominates the bottom, it’s a P-Shape (short covering). If the POC is low and the bottom dominates, it’s a b-Shape (long liquidation). Otherwise, it defaults to a D-Shape (balanced). This provides a quick, at-a-glance assessment of auction structure.
5. Imbalances, Absorption & Zones
bool isBuyImb = showImb and sVal > 0 and (bVal / sVal >= imbRatio)
bool isSellImb = showImb and bVal > 0 and (sVal / bVal >= imbRatio)
float volRatio = eaMax > 0 ? tVal / eaMax : 0
float stRatio = esmRange > 0 ? (stVal - esmMin) / esmRange : 1.0
bool isAbsorp = showAbsorp and volRatio > 0.6 and stRatio < 0.25
if showImbZone
if isSellImb
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
if isBuyImb
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
if isAbsorp
zoneBoxes.push(box.new(bar_index - N + 1, bucketHi, bar_index + 1, bucketLo, ...))
Imbalances are identified where one side’s volume (buy or sell) exceeds the other by at least Imbalance Ratio. These buckets are marked as buy or sell imbalance zones, indicating aggressive participation from one side.
Absorption is detected by combining a high volume ratio (volRatio) with a low normalized stealth ratio (stRatio). High volume with limited price movement suggests that opposing orders are absorbing flow at that level. Both imbalance and absorption buckets are extended into horizontal zones from the start of the lookback to the current bar, visually emphasizing key support/resistance and liquidity areas.
6. Building Buy, Sell & Stealth Profiles
sellProfile := array.new(bucketCount, 0)
buyProfile := array.new(bucketCount, 0)
stealthProfile := array.new(bucketCount, 0)
Three arrays are used to store Sell Flow, Buy Flow, and Stealth Flow. Bars are processed from oldest to newest so that decay is applied in correct chronological order. For each bar, a volume density (volume / range) is calculated and distributed across the candle range. Bull candles feed buyProfile, bear candles feed sellProfile.
Stealth Flow computes the close-to-close move between consecutive bars, scaled by 1 / (1 + volume). Big moves on low volume produce high stealth values, which are then allocated across the move’s price span into stealthProfile. This yields a three-layer profile per price level: directional volume and stealthy price movement.
Impulse Reactor RSI-SMA Trend Indicator [ApexLegion]Impulse Reactor RSI-SMA Trend Indicator
Introduction and Theoretical Background
Design Rationale
Standard indicators frequently generate binary 'BUY' or 'SELL' signals without accounting for the broader market context. This often results in erratic "Flip-Flop" behavior, where signals are triggered indiscriminately regardless of the prevailing volatility regime.
Impulse Reactor was engineered to address this limitation by unifying two critical requirements: Quantitative Rigor and Execution Flexibility.
The Solution
Composite Analytical Framework This script is not a simple visual overlay of existing indicators. It is an algorithmic synthesis designed to function as a unified decision-making engine. The primary objective was to implement rigorous quantitative analysis (Volatility Normalization, Structural Filtering) directly within an alert-enabled framework. This architecture is designed to process signals through strict, multi-factor validation protocols before generating real-time notifications, allowing users to focus on structurally validated setups without manual monitoring.
How It Works
This is not a simple visual mashup. It utilizes a cross-validation algorithm where the Trend Structure acts as a gatekeeper for Momentum signals:
Logic over Lag: Unlike simple moving average crossovers, this script uses a 15-layer Gradient Ribbon to detect "Laminar Flow." If the ribbon is knotted (Compression), the system mathematically suppresses all signals.
Volatility Normalization: The core calculation adapts to ATR (Average True Range). This means the indicator automatically expands in volatile markets and contracts in quiet ones, maintaining accuracy without constant manual tweaking.
Adaptive Signal Thresholding: It incorporates an 'Anti-Greed' algorithm (Dynamic Thresholding) that automatically adjusts entry criteria based on trend duration. This logic aims to mitigate the risk of entering positions during periods of statistical trend exhaustion.
Why Use It?
Market State Decoding: The gradient Ribbon visualizes the underlying trend phase in real-time.
◦ Cyan/Blue Flow: Strong Bullish Trend (Laminar Flow).
◦ Magenta/Pink Flow: Strong Bearish Trend.
◦ Compressed/Knotted: When the ribbon lines are tightly squeezed or overlapping, it signals Consolidation. The system filters signals here to avoid chop.
Noise Reduction: The goal is not to catch every pivot, but to isolate high-confidence setups. The logic explicitly filters out minor fluctuations to help maintain position alignment with the broader trend.
⚖️ Chapter 1: System Architecture
Introduction: Composite Analytical Framework
System Overview
Impulse Reactor serves as a comprehensive technical analysis engine designed to synthesize three distinct market dimensions—Momentum, Volatility, and Trend Structure—into a unified decision-making framework. Unlike traditional methods that analyze these metrics in isolation, this system functions as a central processing unit that integrates disparate data streams to construct a coherent model of market behavior.
Operational Objective
The primary objective is to transition from single-dimensional signal generation to a multi-factor assessment model. By fusing data from the Impulse Core (Volatility), Gradient Oscillator (Momentum), and Structural Baseline (Trend), the system aims to filter out stochastic noise and identify high-probability trade setups grounded in quantitative confluence.
Market Microstructure Analysis: Limitations of Conventional Models
Extensive backtesting and quantitative analysis have identified three critical inefficiencies in standard oscillator-based strategies:
• Bounded Oscillator Limitations (The "Oscillation Trap"): Traditional indicators such as RSI or Stochastics are mathematically constrained between fixed values (0 to 100). In strong trending environments, these metrics often saturate in "overbought" or "oversold" zones. Consequently, traders relying on static thresholds frequently exit structurally valid positions prematurely or initiate counter-trend trades against prevailing momentum, resulting in suboptimal performance.
• Quantitative Blindness to Quality: Standard moving averages and trend indicators often fail to distinguish the qualitative nature of price movement. They treat low-volume drift and high-velocity expansion identically. This inability to account for "Volatility Quality" leads to delayed responsiveness during critical market events.
• Fractal Dissonance (Timeframe Disconnect): Financial markets exhibit fractal characteristics where trends on lower timeframes may contradict higher timeframe structures. Manual integration of multi-timeframe analysis increases cognitive load and susceptibility to human error, often resulting in conflicting biases at the point of execution.
Core Design Principles
To mitigate the aforementioned systemic inefficiencies, Impulse Reactor employs a modular architecture governed by three foundational principles:
Principle A:
Volatility Precursor Analysis Market mechanics demonstrate that volatility expansion often functions as a leading indicator for directional price movement. The system is engineered to detect "Volatility Deviation" — specifically, the divergence between short-term and long-term volatility baselines—prior to its manifestation in price action. This allows for entry timing aligned with the expansion phase of market volatility.
Principle B:
Momentum Density Visualization The system replaces singular momentum lines with a "Momentum Density" model utilizing a 15-layer Simple Moving Average (SMA) Ribbon.
• Concept: This visualization represents the aggregate strength and consistency of the trend.
• Application: A fully aligned and expanded ribbon indicates a robust trend structure ("Laminar Flow") capable of withstanding minor counter-trend noise, whereas a compressed ribbon signals consolidation or structural weakness.
Principle C:
Adaptive Confluence Protocols Signal validity is strictly governed by a multi-dimensional confluence logic. The system suppresses signal generation unless there is synchronized confirmation across all three analytical vectors:
1. Volatility: Confirmed expansion via the Impulse Core.
2. Momentum: Directional alignment via the Hybrid Oscillator.
3. Structure: Trend validation via the Baseline. This strict filtering mechanism significantly reduces false positives in non-trending (choppy) environments while maintaining sensitivity to genuine breakouts.
🔍 Chapter 2: Core Modules & Algorithmic Logic
Module A: Impulse Core (Normalized Volatility Deviation)
Operational Logic The Impulse Core functions as a volatility-normalized momentum gauge rather than a standard oscillator. It is designed to identify "Volatility Contraction" (Squeeze) and "Volatility Expansion" phases by quantifying the divergence between short-term and long-term volatility states.
Volatility Z-Score Normalization
The formula implements a custom normalization algorithm. Unlike standard oscillators that rely on absolute price changes, this logic calculates the Z-Score of the Volatility Spread.
◦ Numerator: (atr_f - atr_s) captures the raw momentum of volatility expansion.
◦ Denominator: (std_f + 1e-6) standardizes this value against historical variance.
◦ Result: This allows the indicator scales consistently across assets (e.g., Bitcoin vs. Euro) without manual recalibration.
f_impulse() =>
atr_f = ta.atr(fastLen) // Fast Volatility Baseline
atr_s = ta.atr(slowLen) // Slow Volatility Baseline
std_f = ta.stdev(atr_f, devLen) // Volatility Standard Deviation
(atr_f - atr_s) / (std_f + 1e-6) // Normalized Differential Calculation
Algorithmic Framework
• Differential Calculation: The system computes the spread between a Fast Volatility Baseline (ATR-10) and a Slow Volatility Baseline (ATR-30).
• Normalization Protocol: To standardize consistency across diverse asset classes (e.g., Forex vs. Crypto), the raw differential is divided by the standard deviation of the volatility itself over a 30-period lookback.
• Signal Generation:
◦ Contraction (Squeeze): When the Fast ATR compresses below the Slow ATR, it registers a potential volatility buildup phase.
◦ Expansion (Release): A rapid divergence of the Fast ATR above the Slow ATR signals a confirmed volatility expansion, validating the strength of the move.
Module B: Gradient Oscillator (RSI-SMA Hybrid)
Design Rationale To mitigate the "noise" and "false reversal" signals common in single-line oscillators (like standard RSI), this module utilizes a 15-Layer Gradient Ribbon to visualize momentum density and persistence.
Technical Architecture
• Ribbon Array: The system generates 15 sequential Simple Moving Averages (SMA) applied to a volatility-adjusted RSI source. The length of each layer increases incrementally.
• State Analysis:
Momentum Alignment (Laminar Flow): When all 15 layers are expanded and parallel, it indicates a robust trend where buying/selling pressure is distributed evenly across multiple timeframes. This state helps filter out premature "overbought/oversold" signals.
• Consolidation (Compression): When the distance between the fastest layer (Layer 1) and the slowest layer (Layer 15) approaches zero or the layers intersect, the system identifies a "Non-Tradable Zone," preventing entries during choppy market conditions.
// Laminar Flow Validation
f_validate_trend() =>
// Calculate spread between Ribbon layers
ribbon_spread = ta.stdev(ribbon_array, 15)
// Only allow signals if Ribbon is expanded (Laminar Flow)
is_flowing = ribbon_spread > min_expansion_threshold
// If compressed (Knotted), force signal to false
is_flowing ? signal : na
Module C: Adaptive Signal Filtering (Behavioral Bias Mitigation)
This subsystem, operating as an algorithmic "Anti-Greed" Mechanism, addresses the statistical tendency for signal degradation following prolonged trends.
Dynamic Threshold Adjustment
• Win Streak Detection: The algorithm internally tracks the outcome of closed trade cycles.
• Sensitivity Multiplier: Upon detecting consecutive successful signals in the same direction, a Penalty_Factor is applied to the entry logic.
• Operational Impact: This effectively raises the Required_Slope threshold for subsequent signals. For example, after three consecutive bullish signals, the system requires a 30% steeper trend angle to validate a fourth entry. This enforces stricter discipline during extended trends to reduce the probability of entering at the point of trend exhaustion.
Anti-Greed Logic: Dynamic Threshold Calculation
f_adjust_threshold(base_slope, win_streak) =>
// Adds a 10% penalty to the difficulty for every consecutive win
penalty_factor = 0.10
risk_scaler = 1 + (win_streak * penalty_factor)
// Returns the new, harder-to-reach threshold
base_slope * risk_scaler
Module D: Trend Baseline (Triple-Smoothed Structure)
The Trend Baseline serves as the structural filter for all signals. It employs a Triple-Smoothed Hybrid Algorithm designed to balance lag reduction with noise filtration.
Smoothing Stages
1. Volatility Banding: Utilizes a SuperTrend-based calculation to establish the upper and lower boundaries of price action.
2. Weighted Filter: Applies a Weighted Moving Average (WMA) to prioritize recent price data.
3. Exponential Smoothing: A final Exponential Moving Average (EMA) pass is applied to create a seamless baseline curve.
Functionality
This "Heavy" baseline resists minor intraday volatility spikes while remaining responsive to sustained structural shifts. A signal is only considered valid if the price action maintains structural integrity relative to this baseline
🚦 Chapter 3: Risk Management & Exit Protocols
Quantitative Risk Management (TP/SL & Trailing)
Foundational Architecture: Volatility-Adjusted Geometry Unlike strategies relying on static nominal values, Impulse Reactor establishes dynamic risk boundaries derived from quantitative volatility metrics. This design aligns trade invalidation levels mathematically with the current market regime.
• ATR-Based Dynamic Bracketing:
The protocol calculates Stop-Loss and Take-Profit levels by applying Fibonacci coefficients (Default: 0.786 for SL / 1.618 for TP) to the Average True Range (ATR).
◦ High Volatility Environments: The risk bands automatically expand to accommodate wider variance, preventing premature exits caused by standard market noise.
◦ Low Volatility Environments: The bands contract to tighten risk parameters, thereby dynamically adjusting the Risk-to-Reward (R:R) geometry.
• Close-Validation Protocol ("Soft Stop"):
Institutional algorithms frequently execute liquidity sweeps—driving prices briefly below key support levels to accumulate inventory.
◦ Mechanism: When the "Soft Stop" feature is enabled, the system filters out intraday volatility spikes. The stop-loss is conditional; execution is triggered only if the candle closes beyond the invalidation threshold.
◦ Strategic Advantage: This logic distinguishes between momentary price wicks and genuine structural breakdowns, preserving positions during transient volatility.
• Step-Function Trailing Mechanism:
To protect unrealized PnL while allowing for normal price breathing, a two-phase trailing methodology is employed:
◦ Phase 1 (Activation): The trailing function remains dormant until the price advances by a pre-defined percentage threshold.
◦ Phase 2 (Dynamic Floor): Once armed, the stop level creates a moving floor, adjusting relative to price action while maintaining a volatility-based (ATR) buffer to systematically protect unrealized PnL.
• Algorithmic Exit Protocols (Dynamic Liquidity Analysis)
◦ Rationale: Inefficiencies of Static Targets Static "Take Profit" levels often result in suboptimal exits. They compel traders to close positions based on arbitrary figures rather than evolving market structure, potentially capping upside during significant trends or retaining positions while the underlying trend structure deteriorates.
◦ Solution: Structural Integrity Assessment The system utilizes a Dynamic Liquidity Engine to continuously audit the validity of the position. Instead of targeting a specific price point, the algorithm evaluates whether the trend remains statistically robust.
Multi-Factor Exit Logic (The Tri-Vector System)
The Smart Exit protocol executes only when specific algorithmic invalidation criteria are met:
• 1. Momentum Exhaustion (Confluence Decay): The system monitors a 168-hour rolling average of the Confluence Score. A significant deviation below this historical baseline indicates momentum exhaustion, signaling that the driving force behind the trend has dissipated prior to a price reversal. This enables preemptive exits before a potential drawdown.
• 2. Statistical Over-Extension (Mean Reversion): Utilizing the core volatility logic, the system identifies instances where price deviates beyond 2.0 standard deviations from the mean. While the trend may be technically bullish, this statistical anomaly suggests a high probability of mean reversion (elastic snap-back), triggering a defensive exit to capitalize on peak valuation.
• 3. Oscillator Rejection (Immediate Pivot): To manage sudden V-shaped volatility, the system monitors RSI pivots. If a sharp "Pivot High" or divergence is detected, the protocol triggers an immediate "Peak Exit," bypassing standard trend filters to secure liquidity during high-velocity reversals.
🎨 Chapter 4: Visualization Guide
Gradient Oscillator Ribbon
The 15-layer SMA ribbon visualized via plot(r1...r15) represents the "Momentum Density" of the market.
• Visuals:
◦ Cyan/Blue Ribbon: Indicates Bullish Momentum.
◦ Pink/Magenta Ribbon: Indicates Bearish Momentum.
• Interpretation:
◦ Laminar Flow: When the ribbon expands widely and flows in parallel, it signifies a robust trend where momentum is distributed evenly across timeframes. This is the ideal state for trend-following.
◦ Compression (Consolidation): If the ribbon becomes narrow, twisted, or knotted, it indicates a "Non-Tradable Zone" where the market lacks a unified direction. Traders are advised to wait for clarity.
◦ Over-Extension: If the top layer crosses the Overbought (85) or Oversold (15) lines, it visually warns of potential market overheating.
Trend Baseline
The thick, color-changing line plotted via plot(baseline) represents the Structural Backbone of the market.
• Visuals: Changes color based on the trend direction (Blue for Bullish, Pink for Bearish).
• Interpretation:
Structural Filter: Long positions are statistically favored only when price action sustains above this baseline, while short positions are favored below it.
Dynamic Support/Resistance: The baseline acts as a dynamic support level during uptrends and resistance during downtrends.
Entry Signals & Labels
Text labels ("Long Entry", "Short Entry") appear when the system detects high-probability setups grounded in quantitative confluence.
• Visuals: Labeled signals appear above/below specific candles.
• Interpretation:
These signals represent moments where Volatility (Expansion), Momentum (Alignment), and Structure (Trend) are synchronized.
Smart Exit: Labels such as "Smart Exit" or "Peak Exit" appear when the system detects momentum exhaustion or structural decay, prompting a defensive exit to preserve capital.
Dynamic TP/SL Boxes
The semi-transparent colored zones drawn via fill() represent the risk management geometry.
• Visuals: Colored boxes extending from the entry point to the Take Profit (TP) and Stop Loss (SL) levels.
• Function:
Volatility-Adjusted Geometry: Unlike static price targets, these boxes expand during high volatility (to prevent wicks from stopping you out) and contract during low volatility (to optimize Risk-to-Reward ratios).
SAR + MACD Glow
Small glowing shapes appearing above or below candles.
• Visuals: Triangle or circle glows near the price bars.
• Interpretation:
This visual indicates a secondary confirmation where Parabolic SAR and MACD align with the main trend direction. It serves as an additional confluence factor to increase confidence in the trade setup.
Support/Resistance Table
A small table located at the bottom-right of the chart.
• Function: Automatically identifies and displays recent Pivot Highs (Resistance) and Pivot Lows (Support).
• Interpretation: These levels can be used as potential targets for Take Profit or invalidation points for manual Stop Loss adjustments.
🖥️ Chapter 5: Dashboard & Operational Guide
Integrated Analytics Panel (Dashboard Overview)
To facilitate rapid decision-making without manual calculation, the system aggregates critical market dimensions into a unified "Heads-Up Display" (HUD). This panel monitors real-time metrics across multiple timeframes and analytical vectors.
A. Intermediate Structure (12H Trend)
• Function: Anchors the intraday analysis to the broader market structure using a 12-hour rolling window.
• Interpretation:
◦ Bullish (> +0.5%): Indicates a positive structural bias. Long setups align with the macro flow.
◦ Bearish (< -0.5%): Indicates structural weakness. Short setups are statistically favored.
◦ Neutral: Represents a ranging environment where the Confluence Score becomes the primary weighting factor.
B. Composite Confluence Score (Signal Confidence)
• Definition: A probability metric derived from the synchronization of Volatility (Impulse Core), Momentum (Ribbon), and Trend (Baseline).
• Grading Scale:
Strong Buy/Sell (> 7.0 / < 3.0): Indicates full alignment across all three vectors. Represents a "Prime Setup" eligible for standard position sizing.
Buy/Sell (5.0–7.0 / 3.0–5.0): Indicates a valid trend but with moderate volatility confirmation.
Neutral: Signals conflicting data (e.g., Bullish Momentum vs. Bearish Structure). Trading is not recommended ("No-Trade Zone").
C. Statistical Deviation Status (Mean Reversion)
• Logic: Utilizes Bollinger Band deviation principles to quantify how far price has stretched from the statistical mean (20 SMA).
• Alert States:
Over-Extended (> 2.0 SD): Warning that price is statistically likely to revert to the mean (Elastic Snap-back), even if the trend remains technically valid. New entries are discouraged in this zone.
Normal: Price is within standard distribution limits, suitable for trend-following entries.
D. Volatility Regime Classification
• Metric: Compares current ATR against a 100-period historical baseline to categorize the market state.
• Regimes:
Low Volatility (Lvl < 1.0): Market Compression. Often precedes volatility expansion events.
Mid Volatility (Lvl 1.0 - 1.5): Standard operating environment.
High Volatility (Lvl > 1.5): Elevated market stress. Risk parameters should be adjusted (e.g., reduced position size) to account for increased variance.
E. Performance Telemetry
• Function: Displays the historical reliability of the Trend Baseline for the current asset and timeframe.
• Operational Threshold: If the displayed Win Rate falls below 40%, it suggests the current market behavior is incoherent (choppy) and does not respect trend logic. In such cases, switching assets or timeframes is recommended.
Operational Protocols & Signal Decoding
Visual Interpretation Standards
• Laminar Flow (Trade Confirmation): A valid trend is visually confirmed when the 15-layer SMA Ribbon is fully expanded and parallel. This indicates distributed momentum across timeframes.
• Consolidation (No-Trade): If the ribbon appears twisted, knotted, or compressed, the market lacks a unified directional vector.
• Baseline Interaction: The Triple-Smoothed Baseline acts as a dynamic support/resistance filter. Long positions remain valid only while price sustains above this structure.
System Calibration (Settings)
• Adaptive Signal Filtering (Prev. Anti-Greed): Enabled by default. This logic automatically raises the required trend slope threshold following consecutive wins to mitigate behavioral bias.
• Impulse Sensitivity: Controls the reactivity of the Volatility Core. Higher settings capture faster moves but may introduce more noise.
⚙️ Chapter 6: System Configuration & Alert Guide
This section provides a complete breakdown of every adjustable setting within Impulse Reactor to assist you in tailoring the engine to your specific needs.
🌐 LANGUAGE SETTINGS (Localization)
◦ Select Language (Default: English):
Function: Instantly translates all chart labels, dashboard texts into your preferred language.
Supported: English, Korean, Chinese, Spanish
⚡ IMPULSE CORE SETTINGS (Volatility Engine)
◦ Deviation Lookback (Default: 30): The period used to calculate the standard deviation of volatility.
Role: Sets the baseline for normalizing momentum. Higher values make the core smoother but slower to react.
◦ Fast Pulse Length (Default: 10): The short-term ATR period.
Role: Detects rapid volatility expansion.
◦ Slow Pulse Length (Default: 30): The long-term ATR baseline.
Role: Establishes the background volatility level. The core signal is derived from the divergence between Fast and Slow pulses.
🎯 TP/SL SETTINGS (Risk Management)
◦ SL/TP Fibonacci (Default: 0.786 / 1.618): Selects the Fibonacci ratio used for risk calculation.
◦ SL/TP Multiplier (Default: 1.5 / 2): Applies a multiplier to the ATR-based bands.
Role: Expands or contracts the Take Profit and Stop Loss boxes. Increase these values for higher volatility assets (like Altcoins) to avoid premature stop-outs.
◦ ATR Length (Default: 14): The lookback period for calculating the Average True Range used in risk geometry.
◦ Use Soft Stop (Close Basis):
Role: If enabled, Stop Loss alerts only trigger if a candle closes beyond the invalidation level. This prevents being stopped out by wick manipulations.
🔊 RIBBON SETTINGS (Momentum Visualization)
◦ Show SMA Ribbon: Toggles the visibility of the 15-layer gradient ribbon.
◦ Ribbon Line Count (Default: 15): The number of SMA lines in the ribbon array.
◦ Ribbon Start Length (Default: 2) & Step (Default: 1): Defines the spread of the ribbon.
Role: Controls the "thickness" of the momentum density visualization. A wider step creates a broader ribbon, useful for higher timeframes.
📎 DISPLAY OPTIONS
◦ Show Entry Lines / TP/SL Box / Position Labels / S/R Levels / Dashboard: Toggles individual visual elements on the chart to reduce clutter.
◦ Show SAR+MACD Glow: Enables the secondary confirmation shapes (triangles/circles) above/below candles.
📈 TREND BASELINE (Structural Filter)
◦ Supertrend Factor (Default: 12) & ATR Period (Default: 90): Controls the sensitivity of the underlying Supertrend algorithm used for the baseline calculation.
◦ WMA Length (40) & EMA Length (14): The smoothing periods for the Triple-Smoothed Baseline.
◦ Min Trend Duration (Default: 10): The minimum number of bars the trend must be established before a signal is considered valid.
🧠 SMART EXIT (Dynamic Liquidity)
◦ Use Smart Exit: Enables the momentum exhaustion logic.
◦ Exit Threshold Score (Default: 3): The sensitivity level for triggering a Smart Exit. Lower values trigger earlier exits.
◦ Average Period (168) & Min Hold Bars (5): Defines the rolling window for momentum decay analysis and the minimum duration a trade must be held before Smart Exit logic activates.
🛡️ TRAILING STOP (Step)
◦ Use Trailing Stop: Activates the step-function trailing mechanism.
◦ Step 1 Activation % (0.5) & Offset % (0.5): The price must move 0.5% in your favor to arm the first trail level, which sets a stop 0.5% behind price.
◦ Step 2 Activation % (1) & Offset % (0.2): Once price moves 1%, the trail tightens to 0.2%, securing the position.
🌀 SAR & MACD SETTINGS (Secondary Confirmation)
◦ SAR Start/Increment/Max: Standard Parabolic SAR parameters.
◦ SAR Score Scaling (ATR): Adjusts how much weight the SAR signal has in the overall confluence score.
◦ MACD Fast/Slow/Signal: Standard MACD parameters used for the "Glow" signals.
🔄 ANTI-GREED LOGIC (Behavioral Bias)
◦ Strict Entry after Win: Enables the negative feedback loop.
◦ Strict Multiplier (Default: 1.1): Increases the entry difficulty by 10% after each win.
Role: Prevents overtrading and entering at the top of an extended trend.
🌍 HTF FILTER (Multi-Timeframe)
◦ Use Auto-Adaptive HTF Filter: Automatically selects a higher timeframe (e.g., 1H -> 4H) to filter signals.
◦ Bypass HTF on Steep Trigger: Allows an entry even against the HTF trend if the local momentum slope is exceptionally steep (catch powerful reversals).
📉 RSI PEAK & CHOPPINESS
◦ RSI Peak Exit (Instant): Triggers an immediate exit if a sharp RSI pivot (V-shape) is detected.
◦ Choppiness Filter: Suppresses signals if the Choppiness Index is above the threshold (Default: 60), indicating a flat market.
📐 SLOPE TRIGGER LOGIC
◦ Force Entry on Steep Slope: Overrides other filters if the price angle is extremely vertical (high velocity).
◦ Slope Sensitivity (1.5): The angle required to trigger this override.
⛔ FLAT MARKET FILTER (ADX & ATR)
◦ Use ADX Filter: Blocks signals if ADX is below the threshold (Default: 20), indicating no trend.
◦ Use ATR Flat Filter: Blocks signals if volatility drops below a critical level (dead market).
🔔 Alert Configuration Guide
Impulse Reactor is designed with a comprehensive suite of alert conditions, allowing you to automate your trading or receive real-time notifications for specific market events.
How to Set Up:
Click the "Alert" (Clock) icon in the TradingView toolbar.
Select "Impulse Reactor " from the Condition dropdown.
Choose one of the specific trigger conditions below:
🚀 Entry Signals (Trend Initiation)
Long Entry:
Trigger: Fires when a confirmed Bullish Setup is detected (Momentum + Volatility + Structure align).
Usage: Use this to enter new Long positions.
Short Entry:
Trigger: Fires when a confirmed Bearish Setup is detected.
Usage: Use this to enter new Short positions.
🎯 Profit Taking (Target Levels)
Long TP:
Trigger: Fires when price hits the calculated Take Profit level for a Long trade.
Usage: Automate partial or full profit taking.
Short TP:
Trigger: Fires when price hits the calculated Take Profit level for a Short trade.
Usage: Automate partial or full profit taking.
🛡️ Defensive Exits (Risk Management)
Smart Exit:
Trigger: Fires when the system detects momentum decay or statistical exhaustion (even if the trend hasn't fully reversed).
Usage: Recommended for tightening stops or closing positions early to preserve gains.
Overbought / Oversold:
Trigger: Fires when the ribbon extends into extreme zones.
Usage: Warning signal to prepare for a potential reversal or pullback.
💡 Secondary Confirmation (Confluence)
SAR+MACD Bullish:
Trigger: Fires when Parabolic SAR and MACD align bullishly with the main trend.
Usage: Ideal for Pyramiding (adding to an existing winning position).
SAR+MACD Bearish:
Trigger: Fires when Parabolic SAR and MACD align bearishly.
Usage: Ideal for adding to short positions.
⚠️ Chapter 7: Conclusion & Risk Disclosure
Methodological Synthesis
Impulse Reactor represents a shift from reactive price tracking to proactive energy analysis. By decomposing market activity into its atomic components — Volatility, Momentum, and Structure — and reconstructing them into a coherent decision model, the system aims to provide a quantitative framework for market engagement. It is designed not to predict the future, but to identify high-probability conditions where kinetic energy and trend structure align.
Disclaimer & Risk Warnings
◦ Educational Purpose Only
This indicator, including all associated code, documentation, and visual outputs, is provided strictly for educational and informational purposes. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments.
◦ No Guarantee of Performance
Past performance is not indicative of future results. All metrics displayed on the dashboard (including "Win Rate" and "P&L") are theoretical calculations based on historical data. These figures do not account for real-world trading factors such as slippage, liquidity gaps, spread costs, or broker commissions.
◦ High-Risk Warning
Trading cryptocurrencies, futures, and leveraged financial products involves a substantial risk of loss. The use of leverage can amplify both gains and losses. Users acknowledge that they are solely responsible for their trading decisions and should conduct independent due diligence before executing any trades.
◦ Software Limitations
The software is provided "as is" without warranty. Users should be aware that market data feeds on analysis platforms may experience latency or outages, which can affect signal generation accuracy.
Fibonacci Projection with Volume & Delta Profile (Zeiierman)█ Overview
Fibonacci Projection with Volume & Delta Profile (Zeiierman) blends classic Fibonacci swing analysis with modern volume-flow reading to create a unified, projection-based market framework. The indicator automatically detects the latest swing high and swing low, builds a complete Fibonacci structure, and then projects future extension targets with clear visual pathways.
What makes this tool unique is the integration of two volume-based systems directly into the Fibonacci structure. A Fib-aligned Volume Profile shows how bullish and bearish volume accumulated inside the swing range, while a separate Delta Profile reveals the imbalance of buy–sell pressure inside each Fibonacci interval. Together, these elements transform the standard Fibonacci tool into a multi-dimensional structural and volume-flow map.
█ How It Works
The indicator first detects the most recent swing high and swing low using the Period setting. That swing defines the Fibonacci range, from which the script draws retracement levels (0.236–0.786) and builds a forward projection path using the chosen Projection Level and a 1.272 extension.
Along this path, it draws projection lines, target boxes, and percentage labels that show how far each projected leg extends relative to the previous one.
Inside the same swing range, the script builds a Fib-based Volume Profile by splitting price into rows and assigning each bar’s volume as bullish (close > open) or bearish (close ≤ open). On top of that, it calculates a Volume Delta Profile between each pair of fib levels, showing whether buyers or sellers dominated that band and how strong that imbalance was.
█ How to Use
This tool helps traders quickly understand market structure and where the price may be heading next. The projection engine shows the most likely future targets, highlights strong or weak legs in the move, and updates automatically whenever a new swing forms. This ensures you always see the most relevant and up-to-date projection path.
The Fib Volume Profile shows where volume supported the move and where it did not. Thick bullish buckets reveal zones where buyers stepped in aggressively, often becoming retestable support. Thick bearish buckets highlight zones of resistance or rejection, particularly useful if projected levels align with prior liquidity.
The Delta Profile adds a second dimension to volume reading by showing where buy–sell pressure was truly imbalanced. A projected Fibonacci target that aligns with a strong bullish delta, for example, may suggest continuation. A projection into a band dominated by bearish delta may warn of reversal or hesitation.
█ Settings
Period – bars used to determine swing high/low
Projection Level – chosen Fib ratio for projection path
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Super-AO with Risk Management Strategy Template - 11-29-25Super-AO Strategy with Advanced Risk Management Template
Signal Lynx | Free Scripts supporting Automation for the Night-Shift Nation 🌙
1. Overview
Welcome to the Super-AO Strategy. This is more than just a buy/sell indicator; it is a complete, open-source Risk Management (RM) Template designed for the Pine Script community.
At its core, this script implements a robust swing-trading strategy combining the SuperTrend (for macro direction) and the Awesome Oscillator (for momentum). However, the real power lies under the hood: a custom-built Risk Management Engine that handles trade states, prevents repainting, and manages complex exit conditions like Staged Take Profits and Advanced Adaptive Trailing Stops (AATS).
We are releasing this code to help traders transition from simple indicators to professional-grade strategy structures.
2. Quick Action Guide (TL;DR)
Best Timeframe: 4 Hours (H4) and above. Designed for Swing Trading.
Best Assets: "Well-behaved" assets with clear liquidity (Major Forex pairs, BTC, ETH, Indices).
Strategy Type: Trend Following + Momentum Confirmation.
Key Feature: The Risk Management Engine is modular. You can strip out the "Super-AO" logic and insert your own strategy logic into the template easily.
Repainting: Strictly Non-Repainting. The engine calculates logic based on confirmed candle closes.
3. Detailed Report: How It Works
A. The Strategy Logic: Super-AO
The entry logic is based on the convergence of two classic indicators:
SuperTrend: Determines the overall trend bias (Green/Red).
Awesome Oscillator (AO): Measures market momentum.
The Signal:
LONG (+2): SuperTrend is Green AND AO is above the Zero Line AND AO is Rising.
SHORT (-2): SuperTrend is Red AND AO is below the Zero Line AND AO is Falling.
By requiring momentum to agree with the trend, this system filters out many false signals found in ranging markets.
B. The Risk Management (RM) Engine
This script features a proprietary State Machine designed by Signal Lynx. Unlike standard strategies that simply fire orders, this engine separates the Signal from the Execution.
Logic Injection: The engine listens for a specific integer signal: +2 (Buy) or -2 (Sell). This makes the code a Template. You can delete the Super-AO section, write your own logic, and simply pass a +2 or -2 to the RM_EngineInput variable. The engine handles the rest.
Trade States: The engine tracks the state of the trade (Entry, In-Trade, Exiting) to prevent signal spamming.
Aggressive vs. Conservative:
Conservative Mode: Waits for a full trend reversal before taking a new trade.
Aggressive Mode: Allows for re-entries if the trend is strong and valid conditions present themselves again (Pyramiding Type 1).
C. Advanced Exit Protocols
The strategy does not rely on a single exit point. It employs a "Layered Defense" approach:
Hard Stop Loss: A fixed percentage safety net.
Staged Take Profits (Scaling Out): The script allows you to set 3 distinct Take Profit levels. For example, you can close 10% of your position at TP1, 10% at TP2, and let the remaining 80% ride the trend.
Trailing Stop: A standard percentage-based trailer.
Advanced Adaptive Trailing Stop (AATS): This is a highly sophisticated volatility stop. It calculates market structure using Hirashima Sugita (HSRS) levels and Bollinger Bands to determine the "floor" and "ceiling" of price action.
If volatility is high: The stop loosens to prevent wicking out.
If volatility is low: The stop tightens to protect profit.
D. Repainting Protection
Many Pine Script strategies look great in backtesting but fail in live trading because they rely on "real-time" price data that disappears when the candle closes.
This Risk Management engine explicitly pulls data from the previous candle close (close , high , low ) for its calculations. This ensures that the backtest results you see match the reality of live execution.
4. For Developers & Modders
We encourage you to tear this code apart!
Look for the section titled // Super-AO Strategy Logic.
Replace that block with your own RSI, MACD, or Price Action logic.
Ensure your logic outputs a 2 for Buy and -2 for Sell.
Connect it to RM_EngineInput.
You now have a fully functioning Risk Management system for your custom strategy.
5. About Signal Lynx
Automation for the Night-Shift Nation 🌙
This code has been in action since 2022 and is a known performer in PineScript v5. We provide this open source to help the community build better, safer automated systems.
If you are looking to automate your strategies, please take a look at Signal Lynx in your search.
License: Mozilla Public License 2.0 (Open Source). If you make beneficial modifications, please release them back to the community!
Minervini VCP Pattern -Indian ContextThis script implements Mark Minervini's Trend Template and VCP (Volatility Contraction Pattern) pattern, specifically adapted for Indian stock markets (NSE). It helps identify stocks that are in strong uptrends and ready to break out.
Core Concepts Explained
1. What is the Minervini Trend Template?
Mark Minervini's method identifies stocks in Stage 2 uptrends - the sweet spot where institutional money is accumulating and stocks show the strongest momentum. Think of it as finding stocks that are "leaders" rather than "laggards."
2. What is VCP (Volatility Contraction Pattern)?
A VCP occurs when:
Stock price consolidates (moves sideways) after an uptrend
Price swings get tighter and tighter (like a coiled spring)
Volume dries up (fewer people trading)
Then it breaks out with force.
You can customize the strategy settings without editing code.
Key Settings:
Minimum Price (₹50): Filters out penny stocks that are too volatile
Min Distance from 52W Low (30%): Stock should be at least 30% above its yearly low
Max Distance from 52W High (25%): Stock should be within 25% of its yearly high (showing strength)
Moving Average Periods: 10, 50, 150, 200 days (industry standard)
Minimum Volume (100,000 shares): Ensures the stock is liquid enough to trade
Indian Market Adaptation: The default values (₹50 minimum, volume thresholds) are adjusted for NSE stocks, which behave differently than US markets.
The script pulls weekly chart data even when you're viewing daily charts.
Why it matters: Weekly trends are more reliable than daily noise. Professional traders use weekly charts to confirm the bigger picture.
What are Moving Averages (MAs)?
Simple averages of closing prices over X days
They smooth out price action to show trends
Think of them as the "average cost" of buyers over different time periods
The 4 Key MAs:
10 MA (Fast): Very short-term trend
50 MA: Short to medium-term trend
150 MA: Medium to long-term trend
200 MA: Long-term trend (the "grandfather" of all MAs)
Why Weekly MAs?
The script also calculates 10 and 50 MAs on weekly data for additional confirmation of the bigger trend.
The script Finds the highest and lowest prices over the past 52 weeks (1 year).
Why it matters:
Stocks near 52-week highs are showing strength (institutions buying)
Stocks far from 52-week lows have "room to run" upward
This is a psychological level that influences trader behaviour.
What is Volume here ?
The number of shares traded each day
High volume = many traders interested (conviction)
Low volume = lack of interest (weakness or consolidation)
Volume in VCP:
During consolidation (sideways movement), volume should dry up - this shows sellers are exhausted and buyers are holding. When volume spikes on a breakout, it confirms the move.
NSE Context: Indian stocks often have different volume patterns than US stocks, so the 50-day average is used as a baseline.
Relative Strength vs Nifty:
Example:
If your stock is up 20% and Nifty is up 10%, your stock has strong RS
If your stock is up 5% and Nifty is up 15%, your stock has weak RS (avoid it!)
Why it matters: The best performing stocks almost always have strong relative strength before major moves.
The 13 Minervini Conditions:-
Condition 1: Price > 50/150/200 MA
Meaning: Current price must be above ALL three major moving averages.
Why: This confirms the stock is in a clear uptrend. If price is below these MAs, the stock is weak or in a downtrend.
Condition 2: MA 50 > 150 > 200
Meaning: The moving averages themselves must be in proper order.
Analogy: Think of this like layers in a cake - short-term on top, long-term at bottom. If they're tangled, the trend is unclear.
Condition 3: 200 MA Rising (1 Month)
Meaning: The 200 MA today must be higher than it was 20 days ago.
Why: This confirms the long-term trend is UP, not flat or down. The means "20 bars ago."
Condition 4: 50 MA Rising
Meaning: The 50 MA today must be higher than 5 days ago.
Why: Confirms short-term momentum is accelerating upward.
Condition 5: Within 25% of 52-Week High
Meaning: Current price should be within 25% of its 1-year high.
Example:
52-week high = ₹1000
Current price must be above ₹750 (within 25%)
Why: Strong stocks stay near their highs. Weak stocks fall far from highs.
Condition 6: 30%+ Above 52-Week Low (OPTIONAL)
Meaning: Stock should be at least 30% above its yearly low.
Note: The script marks this as "SECONDARY - Optional" because the other conditions are more important. However, it's still a good confirmation.
Condition 7: Price > 10 MA
Meaning: Very short-term strength - price above the 10-day moving average.
Why: Ensures the stock hasn't just rolled over in the immediate term.
Condition 8: Price >= ₹50
Meaning: Filters out stocks below ₹50.
Why: In Indian markets, stocks below ₹50 tend to be penny stocks with poor liquidity and higher manipulation risk.
Condition 9: Weekly Uptrend
Meaning: On the weekly chart, price must be above both weekly MAs, and they must be properly aligned.
Why: Confirms the bigger picture trend, not just daily fluctuations.
Condition 10: 150 MA Rising
Meaning: The 150 MA is trending upward over the past 10 days.
Why: Another confirmation of medium-term trend health.
Condition 11: Sufficient Volume
Meaning: Average volume must exceed 100,000 shares (or your custom setting).
Why: Ensures you can actually buy/sell the stock without moving the price too much (liquidity).
Condition 12: RS vs Nifty Strong
Meaning: The stock's relative strength vs Nifty must be improving.
Why: You want stocks that are outperforming the market, not underperforming.
Condition 13: Nifty in Uptrend
Meaning: The Nifty 50 index itself must be above its 50 MA.
Why: "A rising tide lifts all boats." It's easier to make money in individual stocks when the overall market is bullish.
VCP Requirements:
Volatility Contracting: Price swings getting tighter (coiling spring)
Volume Drying Up: Fewer shares trading + trending lower
The Setup: When volatility contracts and volume dries up WHILE all 13 trend conditions are met, you have a VCP setup ready to explode.
What You See on Chart:
Colored Lines: 10 MA (green), 50 MA (blue), 150 MA (orange), 200 MA (red)
Blue Background: Trend template conditions met (watch zone)
Green Background: Full VCP setup detected (buy zone)
↟ Symbol Below Price: New VCP buy signal just triggered
Information Table:
What it does: Creates a checklist table on your chart showing the status of all conditions.
Table Structure:
Column 1: Condition name
Column 2: Status (✓ green = met, ✗ red = not met)
Final Row: Shows "BUY" (green) or "WAIT" (red) based on full VCP setup status.
Dos:
Example:
Account size: ₹5,00,000
Risk per trade: 1% = ₹5,000
Entry: ₹1000
Stop loss: ₹920 (8% below)
Distance to stop: ₹80
Shares to buy: ₹5,000 / ₹80 = 62 shares
Exit Strategy:
Sell 1/3 at +20% profit
Sell another 1/3 at +40% profit
Let the final 1/3 run with a trailing stop
Always exit if price closes below 10 MA on heavy volume
What This Script Does NOT Do:
Guarantee profits - No strategy works 100% of the time
Account for news events - Earnings, regulatory changes, etc.
Consider fundamentals - Company financials, debt, management quality
Adapt to market crashes - Works best in bull markets
Best Market Conditions:
✅ Nifty in uptrend (above 50 MA)
✅ Market breadth positive (more stocks advancing)
✅ Sector rotation happening
❌ Avoid in bear markets or high volatility periods
References:
Trade Like a Stock Market Wizard by Mark Minervini
Think & Trade Like a Champion by Mark Minervini
Chart attached: AU Small Finance Bank as on EoD dated 28/11/25
This script is a powerful tool for educational purpose only, remember: It's a tool, not a crystal ball. Use it to find high-probability setups, then apply proper risk management and patience. Good luck!
Fibonacci Retrace + 50 EMA Hariss 369This indicator combines 3 concepts:
Fibonacci retracement zones
50 EMA trend filter
Price interaction with specific Fib zones to generate Buy/Sell signals
Let’s break everything down in simple language.
1. Fibonacci Retracement Logic
The script finds:
Most recent swing high
Most recent swing low
Using these two points, it draws Fibonacci levels:
Fibonacci Levels Used
Level Meaning Calculation
0% Swing Low recentLow
38.2% Light retracement high - (range × 0.382)
50% Mid retracement high - (range × 0.50)
61.8% Deep retracement high - (range × 0.618)
100% Swing High recentHigh
🔍 Why only these levels?
Because trading signals are generated based ONLY on:38.2%, 50%,61.8%
These 3 levels define the golden retracement zones.
2. Trend Filter — 50 EMA
A powerful rule:
Trend Up (bullish)
➡️ Price > 50 EMA
Trend Down (bearish)
➡️ Price < 50 EMA
This prevents signals against the main trend.
3. BUY Conditions (Retracement + EMA)
A BUY signal appears when:
Price is above the 50 EMA (trend is up)
Price retraces into the BUY ZONE:
🔵 BUY ZONE = between 50% and 38.2% Fibonacci i.e.,close >= Fib50 AND close <= Fib38.2
This means:
Market is trending up
Price corrected to a healthy retracement level
Buyers are stepping back in
📘 Why this zone?
This is a moderate retracement (not too shallow, not too deep).
Smart money often enters at 38.2%–50% in a strong trend.
📘 BUY Signal Appears With:
Green “BUY” label
Green arrow below the candle
4. SELL Conditions (Retracement + EMA)
A SELL signal appears when:
Price is below the 50 EMA (trend is down)
Price retraces upward into the SELL ZONE:
🔴 SELL ZONE = between 50% and 61.8% Fibonacci i.e.,close <= Fib50 AND close >= Fib61.8
This means:
Market is trending down
Price made a pullback
Sellers regain control in the golden zone
📘 Why this zone?
50–61.8 retracement is the ideal bearish pullback level.
📘 SELL Signal Appears With:
Red “SELL” label
Red arrow above the candle
5. STOP-LOSS (SL) RULES
For BUY trades,
Place SL below 61.8% level.SL = Fib 61.8%
OR
more safe:SL = swing low (Fib 0%)
For SELL trades
Place SL above 38.2% level.SL = Fib 38.2%
OR conservative:
SL = swing high (Fib 100%)
6. TAKE-PROFIT (TP) RULES
Based on common Fibonacci extensions.
BUY Trade TP Options
TP Level Meaning
TP1 Return to 38.2% Quick scalping target
TP2 Return to swing high Full trend target
TP3 Breakout above swing high Trend continuation
Practical suggestion:
TP1 = 1× risk
TP2 = 2× risk
TP3 = trailing stop
SELL Trade TP Options
TP Level Meaning
TP1 Return to 61.8% Moderate bounce
TP2 Return to swing low Trend target
TP3 Break below swing low Trend continuation
7. Recommended Trading Plan (Simple)
BUY PLAN
Price > 50 EMA (uptrend)
Enter at BUY signal in 38.2–50% zone
SL at 61.8%
TP at swing high or structure break
SELL PLAN
Price < 50 EMA (downtrend)
Enter at SELL signal in 50–61.8% zone
SL above 38.2%
TP at swing low
🟩 Summary (Very Easy to Remember)
🔵 BUY
Trend: above 50 EMA
Zone: between 50% and 38.2%
SL: below 61.8%
TP: swing high
🔴 SELL
Trend: below 50 EMA
Zone: between 50% and 61.8%
SL: above 38.2%
TP: swing low
Dynamic Support and Resistance with Trend LinesDynamic Support and Resistance with Trend Lines (DSRTL)
1. Introduction & Methodology
The DSRTL indicator is designed to provide a multidimensional analysis of market structure. Unlike traditional tools that rely solely on price pivots, this script combines Static Volume-based Zones with Dynamic Trend Lines to evaluate the price's position relative to critical market components.
The S/R Identification Technique
Instead of standard pivot points, DSRTL utilizes Volume Analysis to highlight areas of significant trader participation:
- Strategy A:
Matrix Climax: Identifies candles within the lookback period that are near price extremes (Highs/Lows) and coincide with significant buying or selling volume.
- Strategy B:
Volume Extremes: Detects candles with the absolute highest buy/sell volumes within the selected lookback window, creating extreme volume-based S/R zones.
- Result:
This creates Support/Resistance (S/R) zones that are validated by actual market activity, not just price geometry.
Dynamic Trend Lines
To complement the static zones, the indicator employs two adaptive channel methods:
- Pivot Span: Connects recent significant pivots for a fast, reactive trend corridor.
- 5-Point Channel: Segments the lookback period into 5 parts to perform a linear regression analysis, creating a stable and statistically significant channel.
2. Volume Calculation Methodology
Accurate S/R detection requires distinguishing Buy Volume from Sell Volume. DSRTL offers two calculation modes:
- Geometry (Source File): Estimates buy/sell volume based on the Close price's position relative to the High/Low of the candle.
Note: This is an approximation that works on all plan types as it does not require intrabar data.
- Intrabar (Precise): Analyzes historical lower-timeframe data (e.g., 15S) to calculate intrabar-based volume deltas with higher precision compared to the geometric method.
Note: This offers superior accuracy. It requires access to historical intrabar data (depending on your plan limits). For the best analytical results, use this mode if available.
3. The Smart Matrix Engine (3D Analysis)
The core of DSRTL is its dashboard, powered by the "Smart Matrix Engine." This engine evaluates the current price in a multi-layer market structure context (Static Volume Zones + Dynamic Channels + Volume Metrics).:
A. S-State (Static): Where is the price relative to the Volume S/R zones?
B. D-State (Dynamic): Where is the price relative to the Trend Channels?
How to read the Matrix Map:
The dashboard displays a 5x5 grid representing 25 possible market scenarios.
- Rows (S1-S5): Represent the Static State (S1=Breakout, S3=Mid-Range, S5=Breakdown).
- Columns (D1-D5): Represent the Dynamic State (D1=Overextended Up, D3=Neutral, D5=Overextended Down).
- Active Cell: Marked with a dot, indicating the specific intersection of price action and market structure.
4. Matrix Interpretations (The 25 Scenarios)
Below is the detailed logic for every possible state displayed on the dashboard, explaining the Title, Bias, and actionable Signal.
Section I: S1 - Static Breakout (Price > Static Resistance)
The price has cleared the static volume resistance zone.
- S1 / D1: HYPER EXTENSION
Bias: Extreme Bullish
Signal: Caution: Exhaustion Risk. Trail stops tight.
- S1 / D2: RESISTANCE CLASH
Bias: Bullish
Signal: Breakout confirmed but facing immediate dynamic resistance.
- S1 / D3: CHANNEL BREAKOUT
Bias: Strong Bullish
Signal: Ideal Trend Continuation. Look to buy dips.
- S1 / D4: SMART PULLBACK
Bias: Bullish (Pullback)
Signal: A pullback occurring after a breakout. Strong buy opportunity.
- S1 / D5: CONFLICT (DIV)
Bias: Conflict/Reversal
Signal: Major Divergence. Static breakout is failing against dynamic structure. High Risk.
Section II: S2 - Inside Static Resistance
The price is currently testing the overhead resistance zone.
- S2 / D1: WEAK SPIKE
Bias: Neutral/Bullish
Signal: Testing resistance, but short-term overextended.
- S2 / D2: IRON FORTRESS (R)
Bias: Rejection Risk
Signal: Double Resistance (Static + Dynamic). High probability of rejection.
- S2 / D3: TESTING RES
Bias: Neutral
Signal: Consolidating at resistance. Wait for a clear break or rejection.
- S2 / D4: COMPRESSION (UP)
Bias: Conflict (Squeeze)
Signal: Squeezed between Static Resistance and Dynamic Support. Volatility imminent.
- S2 / D5: RES vs DOWN-TREND
Bias: Bearish
Signal: Strong downtrend meeting static resistance. Potential Short entry.
Section III: S3 - Mid-Range
The price is floating between significant Static Support and Resistance.
- S3 / D1: OVERBOUGHT RANGE
Bias: Rejection Risk (OB)
Signal: Overextended within the range. Potential fade (short).
- S3 / D2: RANGE HIGH LIMIT
Bias: Neutral/Bearish
Signal: At the top of the dynamic channel. Look for rejection signs.
- S3 / D3: NEUTRAL / CHOPPY
Bias: Neutral
Signal: Dead Center. Low probability environment. Avoid trading.
- S3 / D4: RANGE DIP BUY
Bias: Neutral/Bullish
Signal: At the bottom of the dynamic channel. Look for bounce signs.
- S3 / D5: WEAK RANGE (OS)
Bias: Bounce Risk (OS)
Signal: Oversold within the range. Potential fade (long).
Section IV: S4 - Inside Static Support
The price is currently testing the floor support zone.
- S4 / D1: SUP vs UP-TREND
Bias: Bullish
Signal: Strong uptrend meeting static support. Potential Long entry.
- S4 / D2: COMPRESSION (DN)
Bias: Conflict (Squeeze)
Signal: Squeezed between Static Support and Dynamic Resistance. Volatility imminent.
- S4 / D3: TESTING SUPPORT
Bias: Neutral
Signal: Consolidating at support. Wait for a bounce or breakdown.
- S4 / D4: IRON FLOOR (S)
Bias: Bounce Risk
Signal: Double Support (Static + Dynamic). High probability of a bounce.
- S4 / D5: WEAK DIP
Bias: Neutral/Bearish
Signal: Testing support, but short-term oversold.
Section V: S5 - Static Breakdown (Price < Static Support)
The price has dropped below the static volume support zone.
- S5 / D1: CONFLICT (DIV)
Bias: Conflict/Reversal
Signal: Major Divergence. Static breakdown is failing. High Risk.
- S5 / D2: BEAR PULLBACK
Bias: Bearish (Pullback)
Signal: A pullback occurring after a breakdown. Strong selling opportunity.
- S5 / D3: CHANNEL BREAKDOWN
Bias: Strong Bearish
Signal: Ideal Trend Continuation (Down). Sell rallies.
- S5 / D4: SUPPORT CLASH
Bias: Bearish
Signal: Breakdown confirmed but facing immediate dynamic support.
- S5 / D5: HYPER DROP (VOID)
Bias: Extreme Bearish
Signal: Caution: Climax risk. Trail stops for shorts.
DISCLAIMER & EDUCATIONAL PURPOSE
This indicator is strictly an educational tool designed to visualize complex market structure concepts. Its primary purpose is to help traders "bridge the gap" between academic theory and real-time market behavior by providing a visual representation of support, resistance, and volume dynamics.
Please Note:
1. Not a Trading Strategy: This script is an analytical assistant, not a standalone "Black Box" trading system. It does not generate buy or sell signals that should be followed blindly.
2. No Financial Advice: The data provided by this tool is for informational purposes only. It is not a recommendation to buy or sell any asset.
3. Risk Warning: Trading involves significant risk. Always use your own judgment, perform your own technical analysis, and use proper risk management. Do not use this tool as the sole basis for your trading decisions.
4. Data Precision & Platform Limits: The "Intrabar (Precise)" calculation mode relies on high-resolution historical data to provide exact results. Access to this specific data depth depends entirely on your platform's subscription capabilities. If your plan does not support this level of historical intrabar data, the Precise mode may have limited coverage. In that case, you should switch to "Geometry" mode for a fully populated view.
Delta Signals NO REPINTA (FINAL)📢 New Indicator: Delta Signals NO REPAINT 🔥
Introducing my new indicator based on Order Flow Delta, designed to provide buy and sell signals with absolutely NO repainting — perfect for scalping, day trading, or swing trading.
This tool combines two powerful components:
✅ Order Flow Delta — Measures the real strength between buyers and sellers
✅ Smart Trend Filter — Only shows signals in the direction of the dominant trend
Together, they deliver cleaner, more accurate and more reliable signals, with clear entry markers on the chart and a delta histogram revealing real market pressure.
🚀 What’s Included?
🔹 Buy/Sell signals with NO repaint
🔹 Intelligent delta calculation
🔹 Trend filter using moving average
🔹 Clear labels on entry points
🔹 Visual delta histogram
🔹 Works great on Crypto, Forex, Indices & Stocks
🔹 Very lightweight and fast on TradingView
🎯 Why is it powerful?
Because it doesn't rely on lagging indicators — it reads the actual imbalance between buyers and sellers, often detecting strong moves before traditional indicators do.
This type of analysis is used by professional order flow traders, but now you have it on your TradingView chart in a simple, visual format.
🔥 Perfect for:
Scalpers who need precision
Day traders working breakouts and pullbacks
Swing traders seeking strong confirmations
Traders who want clean, NO-repaint signals
If you want a version with automatic TP/SL, alerts, or full backtesting, I can publish that as well.
Just let me know. 🚀📈
jhehli LiquidityWhat are BSL and SSL?
In the context of Smart Money Concepts, liquidity simply refers to pending orders—specifically Stop Losses and Buy/Sell Stop orders—resting above old highs and below old lows.
BSL (Buy-Side Liquidity): This is found above Swing Highs. Retail traders who are short the market will place their "Buy Stop" protective orders here. Additionally, breakout traders place "Buy Limit" orders here. Smart Money views this area as a pool of willing buyers. To fill large sell orders, institutions must drive price up into this liquidity to pair their massive sell interest with these buy stops.
SSL (Sell-Side Liquidity): This is found below Swing Lows. Retail traders who are long the market place their "Sell Stop" protective orders here. Smart Money targets these levels to accumulate long positions. They need the market to sell off into these levels so they can buy from the willing sellers at a discount.
How this Indicator Works
This tool automates the process of market structure analysis by identifying key Swing Highs and Swing Lows.
Detection: It scans price action to find fractal highs and lows (classic swing points) where price has rejected a level.
Visualization: It projects a line from these points, clearly marking where the "stops" are likely residing.
Liquidity Raids: When price pierces these levels, it is considered a "Liquidity Raid" or "Stop Hunt."
How to Use This in Your Trading
Do not treat these lines simply as Support and Resistance. In the ICT methodology, old highs and lows are targets, not barriers.
For Reversals: Wait for a "Turtle Soup" or "Judas Swing." This occurs when price aggressively expands into a BSL or SSL level to trigger stops, only to quickly reverse back into the trading range. This indicates that Smart Money has finished their accumulation or distribution.
For Bias: If the higher timeframe trend is Bullish, expect SSL to be raided to fuel the move, while BSL becomes the target (Draw on Liquidity).
By using this indicator, you remove the guesswork of manually marking every swing point, allowing you to focus on price action and the reaction at these critical liquidity pools.
Delta Zones Smart Money Concept (SMC) UT Trend Reversal Mul.Sig.🚀 What's New in This Version (V5 Update)
This version is a major overhaul focused on improving trade entry timing and risk management through enhanced UT Bot functionality:
Integrated UT Trailing Stop (ATR-based): The primary trend filter and moving stop-loss mechanism is now fully integrated.
Pre-Warning Line: A revolutionary feature that alerts traders when the price penetrates a specific percentage distance (customizable) from the UT Trailing Stop before the main reversal signal fires.
"Ready" Signal: Plots a "Ready" warning label on the chart and triggers an alert condition (UT Ready Long/Short) for pre-emptive trade preparation.
V5 Compatibility: All code has been optimized for Pine Script version 5, utilizing the modern array and type structures for efficient Order Block and Breaker Block detection.
💡 How to Use This Indicator
This indicator works best when confirming signals across different components:
1. Identify the Trend Bias (UT Trailing Stop)
Uptrend: UT Trailing Stop line is Green (Focus only on Buy/Long opportunities).
Downtrend: UT Trailing Stop line is Red (Focus only on Sell/Short opportunities).
2. Prepare for Entry (Warning Line)
Action: When you see the "Ready" label or the price hits the Pre-Warning Line (Dotted Orange Line), this is your alert to prepare for a trend flip, or to tighten the stop on your current trade.
3. Confirm the Entry (Multi-Signals)
Look for a primary entry signal that aligns with the desired trend:
High-Conviction Entry: Wait for the UT Buy/Sell label (confirmed trend flip) AND a Combined Buy/Sell arrow (confirmed by your selected Oscillator settings).
High-Liquidity Entry: Look for a Delta Zone Box forming near an active Order Block or Breaker Block (SMC zones), and then confirm with a UT or Combined Signal.
4. Manage Risk (Trailing Stop)
Always set your initial Stop Loss (SL) either just outside the opposite Order Block or at the UT Trailing Stop level itself.
If the price closes back across the UT Trailing Stop, exit your position immediately, as the trend bias has officially shifted.
Features & Components
1. Delta Zones (Liquidity/Wick Pressure)
Identifies periods of extreme buying or selling pressure based on wick-to-body ratios and standard deviation analysis.
Plots colored pressure boxes (Buy/Sell) to highlight potential exhaustion points or institutional activity.
2. Smart Money Concepts (SMC)
Automatically detects and plots Order Blocks (OBs) and Breaker Blocks (BBs) based on confirmed Market Structure Breaks (MSBs).
Includes Chop Control logic to remove less reliable Breaker Blocks.
3. UT Bot Trailing Stop & Warning Line
UT Trailing Stop (ATR-based): Plots a dynamic trend line (Green/Red) that acts as a moving stop-loss and primary trend filter.
Ready/Warning Signals: Alerts traders (via the "Ready" label and orange lines) when the price enters a "Pre-Reversal Zone" near the Trailing Stop.
4. Multi-Indicator Confirmation (Filters)
Includes customizable signals based on the crossover/crossunder of RSI, CCI, and Stochastic indicators against configurable Overbought/Oversold levels.
Allows selection of combination signals (e.g., RSI & CCI, All Combined, etc.) for high-conviction entries.
LibVeloLibrary "LibVelo"
This library provides a sophisticated framework for **Velocity
Profile (Flow Rate)** analysis. It measures the physical
speed of trading at specific price levels by relating volume
to the time spent at those levels.
## Core Concept: Market Velocity
Unlike Volume Profiles, which only answer "how much" traded,
Velocity Profiles answer "how fast" it traded.
It is calculated as:
`Velocity = Volume / Duration`
This metric (contracts per second) reveals hidden market
dynamics invisible to pure Volume or TPO profiles:
1. **High Velocity (Fast Flow):**
* **Aggression:** Initiative buyers/sellers hitting market
orders rapidly.
* **Liquidity Vacuum:** Price slips through a level because
order book depth is thin (low resistance).
2. **Low Velocity (Slow Flow):**
* **Absorption:** High volume but very slow price movement.
Indicates massive passive limit orders ("Icebergs").
* **Apathy:** Little volume over a long time. Lack of
interest from major participants.
## Architecture: Triple-Engine Composition
To ensure maximum performance while offering full statistical
depth for all metrics, this library utilises **object
composition** with a lazy evaluation strategy:
#### Engine A: The Master (`vpVol`)
* **Role:** Standard Volume Profile.
* **Purpose:** Maintains the "ground truth" of volume distribution,
price buckets, and ranges.
#### Engine B: The Time Container (`vpTime`)
* **Role:** specialized container for time duration (in ms).
* **Hack:** It repurposes standard volume arrays (specifically
`aBuy`) to accumulate time duration for each bucket.
#### Engine C: The Calculator (`vpVelo`)
* **Role:** Temporary scratchpad for derived metrics.
* **Purpose:** When complex statistics (like Value Area or Skewness)
are requested for **Velocity**, this engine is assembled
on-demand to leverage the full statistical power of `LibVPrf`
without rewriting complex algorithms.
---
**DISCLAIMER**
This library is provided "AS IS" and for informational and
educational purposes only. It does not constitute financial,
investment, or trading advice.
The author assumes no liability for any errors, inaccuracies,
or omissions in the code. Using this library to build
trading indicators or strategies is entirely at your own risk.
As a developer using this library, you are solely responsible
for the rigorous testing, validation, and performance of any
scripts you create based on these functions. The author shall
not be held liable for any financial losses incurred directly
or indirectly from the use of this library or any scripts
derived from it.
create(buckets, rangeUp, rangeLo, dynamic, valueArea, allot, estimator, cdfSteps, split, trendLen)
Construct a new `Velo` controller, initializing its engines.
Parameters:
buckets (int) : series int Number of price buckets ≥ 1.
rangeUp (float) : series float Upper price bound (absolute).
rangeLo (float) : series float Lower price bound (absolute).
dynamic (bool) : series bool Flag for dynamic adaption of profile ranges.
valueArea (int) : series int Percentage for Value Area (1..100).
allot (series AllotMode) : series AllotMode Allocation mode `Classic` or `PDF` (default `PDF`).
estimator (series PriceEst enum from AustrianTradingMachine/LibBrSt/1) : series PriceEst PDF model for distribution attribution (default `Uniform`).
cdfSteps (int) : series int Resolution for PDF integration (default 20).
split (series SplitMode) : series SplitMode Buy/Sell split for the master volume engine (default `Classic`).
trendLen (int) : series int Look‑back for trend factor in dynamic split (default 3).
Returns: Velo Freshly initialised velocity profile.
method clone(self)
Create a deep copy of the composite profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo Profile object to copy.
Returns: Velo A completely independent clone.
method clear(self)
Reset all engines and accumulators.
Namespace types: Velo
Parameters:
self (Velo) : Velo Profile object to clear.
Returns: Velo Cleared profile (chaining).
method merge(self, srcVolBuy, srcVolSell, srcTime, srcRangeUp, srcRangeLo, srcVolCvd, srcVolCvdHi, srcVolCvdLo)
Merges external data (Volume and Time) into the current profile.
Automatically handles resizing and re-bucketing if ranges differ.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
srcVolBuy (array) : array Source Buy Volume bucket array.
srcVolSell (array) : array Source Sell Volume bucket array.
srcTime (array) : array Source Time bucket array (ms).
srcRangeUp (float) : series float Upper price bound of the source data.
srcRangeLo (float) : series float Lower price bound of the source data.
srcVolCvd (float) : series float Source Volume CVD final value.
srcVolCvdHi (float) : series float Source Volume CVD High watermark.
srcVolCvdLo (float) : series float Source Volume CVD Low watermark.
Returns: Velo `self` (chaining).
method addBar(self, offset)
Main data ingestion. Distributes Volume and Time to buckets.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
offset (int) : series int Offset of the bar to add (default 0).
Returns: Velo `self` (chaining).
method setBuckets(self, buckets)
Sets the number of buckets for the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
buckets (int) : series int New number of buckets.
Returns: Velo `self` (chaining).
method setRanges(self, rangeUp, rangeLo)
Sets the price range for the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
rangeUp (float) : series float New upper price bound.
rangeLo (float) : series float New lower price bound.
Returns: Velo `self` (chaining).
method setValueArea(self, va)
Set the percentage of volume/time for the Value Area.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
va (int) : series int New Value Area percentage (0..100).
Returns: Velo `self` (chaining).
method getBuckets(self)
Returns the current number of buckets in the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: series int The number of buckets.
method getRanges(self)
Returns the current price range of the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns:
rangeUp series float The upper price bound of the profile.
rangeLo series float The lower price bound of the profile.
method getArrayBuyVol(self)
Returns the internal raw data array for **Buy Volume** directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for buy volume.
method getArraySellVol(self)
Returns the internal raw data array for **Sell Volume** directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for sell volume.
method getArrayTime(self)
Returns the internal raw data array for **Time** (in ms) directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for time duration.
method getArrayBuyVelo(self)
Returns the internal raw data array for **Buy Velocity** directly.
Automatically executes _assemble() if data is dirty.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for buy velocity.
method getArraySellVelo(self)
Returns the internal raw data array for **Sell Velocity** directly.
Automatically executes _assemble() if data is dirty.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for sell velocity.
method getBucketBuyVol(self, idx)
Returns the **Buy Volume** of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The buy volume.
method getBucketSellVol(self, idx)
Returns the **Sell Volume** of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The sell volume.
method getBucketTime(self, idx)
Returns the raw accumulated time (in ms) spent in a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The time in milliseconds.
method getBucketBuyVelo(self, idx)
Returns the **Buy Velocity** (Aggressive Buy Flow) of a bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The buy velocity in .
method getBucketSellVelo(self, idx)
Returns the **Sell Velocity** (Aggressive Sell Flow) of a bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The sell velocity in .
method getBktBnds(self, idx)
Returns the price boundaries of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns:
up series float The upper price bound of the bucket.
lo series float The lower price bound of the bucket.
method getPoc(self, target)
Returns Point of Control (POC) information for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
pocIdx series int The index of the POC bucket.
pocPrice series float The mid-price of the POC bucket.
method getVA(self, target)
Returns Value Area (VA) information for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
vaUpIdx series int The index of the upper VA bucket.
vaUpPrice series float The upper price bound of the VA.
vaLoIdx series int The index of the lower VA bucket.
vaLoPrice series float The lower price bound of the VA.
method getMedian(self, target)
Returns the Median price for the specified target metric distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
medianIdx series int The index of the bucket containing the median.
medianPrice series float The median price.
method getAverage(self, target)
Returns the weighted average price (VWAP/TWAP) for the specified target.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
avgIdx series int The index of the bucket containing the average.
avgPrice series float The weighted average price.
method getStdDev(self, target)
Returns the standard deviation for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The standard deviation.
method getSkewness(self, target)
Returns the skewness for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The skewness.
method getKurtosis(self, target)
Returns the excess kurtosis for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The excess kurtosis.
method getSegments(self, target)
Returns the fundamental unimodal segments for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: matrix A 2-column matrix where each row is an pair.
method getCvd(self, target)
Returns Cumulative Volume/Velo Delta (CVD) information for the target metric.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
cvd series float The final delta value.
cvdHi series float The historical high-water mark of the delta.
cvdLo series float The historical low-water mark of the delta.
Velo
Velo Composite Velocity Profile Controller.
Fields:
_vpVol (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine A: Master Volume source.
_vpTime (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine B: Time duration container (ms).
_vpVelo (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine C: Scratchpad for velocity stats.
_aTime (array) : array Pointer alias to `vpTime.aBuy` (Time storage).
_valueArea (series float) : int Percentage of total volume to include in the Value Area (1..100)
_estimator (series PriceEst enum from AustrianTradingMachine/LibBrSt/1) : LibBrSt.PriceEst PDF model for distribution attribution.
_allot (series AllotMode) : AllotMode Attribution model (Classic or PDF).
_cdfSteps (series int) : int Integration resolution for PDF.
_isDirty (series bool) : bool Lazy evaluation flag for vpVelo.
MPO4 Lines – Modal Engine█ OVERVIEW
MPO4 Lines – Modal Engine is an advanced multi-line modal oscillator for TradingView, designed to detect momentum shifts, trend strength, and reversal points through candle-based pressure analysis with multiple fast lines and a reference slow line. It features divergence detection on Fast Line A, overbought/oversold return signals, dynamic coloring modes, and layered gradient visualizations for enhanced clarity and decision-making.
█ CONCEPT
The indicator is built upon the Market Pressure Oscillator (MPO) and serves as its expanded evolution, aimed at enabling broader market analysis through multiple lines with varying parameters. It calculates modal pressure using candle body size and direction, weighted against average body size over a lookback period, then normalized and smoothed via EMA. It generates four distinct oscillator lines: a heavily smoothed Slow Line (trend reference), two Fast Lines (A & B) for momentum and support/resistance, and an optional Line 4 for additional confirmation. Divergence is calculated solely on Fast Line A, with visual gradients between lines and bands for intuitive interpretation.
█ WHY USE IT?
- Multi-Layer Momentum: Combines slow trend reference with dual fast lines for precise entry/exit timing.
- Divergence Precision: Bullish/bearish divergences on Fast Line A with labeled confirmation.
- OB/OS Return Signals: Clear buy/sell markers when Fast Line A exits oversold/overbought zones.
- Dynamic Visuals: Gradient fills, line-to-line shading, and band gradients for instant market state recognition.
- Flexible Coloring: Slow Line color by direction or zero-position; fast lines by sign.
- Full Customization: Independent lengths, smoothing, visibility, and transparency — by adjusting the lengths of different lines, you can tailor results for various strategies; for example, enabling Line 4 and tuning its length allows trading based on crossovers between different lines.
█ HOW IT WORKS?
- Candle Pressure Calculation: Body = math.abs(close - open); avgBody = ta.sma(body, len). Direction = +1 (bull), –1 (bear), 0 (neutral). Weight = body / avgBody. Contribution = direction × weight.
- Rolling Sum & Normalization: Sums contributions over lookback, normalizes to ±100 scale (÷ (len × 2) × 100).
Smoothing: Applies primary EMA (smoothLen), with extra EMA on Slow Line for stability.
Line Structure:
- Slow Line = calcCPO(len1=20, smoothLen1=5) → extra EMA (5)
- Fast Line A = calcCPO(len2=6, smoothLen2=7)
- Fast Line B = calcCPO(len3=6, smoothLen3=10)
- Line 4 = calcCPO(len4=14, smoothLen4=1)
Divergence Detection: Uses ta.pivothigh/low on price and Fast Line A (pivotLength left/right). Bullish: lower price low + higher osc low. Bearish: higher price high + lower osc high. Valid within 5–60 bar window.
Signals:
- Buy: Fast Line A crosses above oversold (–30)
- Sell: Fast Line A crosses below overbought (+30)
- Slow Line color flip (direction or zero-cross)
- Divergence labels ("Bull" / "Bear")
- Band Coloring as Momentum Signal:
When Fast Line A ≤ Fast Line B → Overbought band turns red (bearish pressure building)
When Fast Line A > Fast Line B → Oversold band turns green (bullish pressure building) This dynamic coloring serves as visual confirmation of momentum shift following fast line crossovers
Visualization:
- Gradients: Fast B → Zero (multi-layer fade), Fast A ↔ B fill, OB/OS bands
- Dynamic colors: Green/red based on sign or trend
- Zero line + dashed OB/OS thresholds
Alerts: Trigger on OB/OS returns, Slow Line changes, and divergences.
█ SETTINGS AND CUSTOMIZATION
- Line Visibility: Toggle Slow, Fast A, Fast B, Line 4 independently.
Line Lengths:
- Slow Line: Base (20), Primary EMA (5), Extra EMA (5)
- Fast A: Lookback (6), EMA (7)
- Fast B: Lookback (6), EMA (10)
- Line 4: Lookback (14), EMA (1)
- Slow Line Coloring Mode: “Direction” (trend-based) or “Position vs Zero”.
- Bands & Thresholds: Overbought (+30), Oversold (–30), step 0.1.
- Signals: Enable Fast A OB/OS return markers (default: on).
- Divergence: Enable/disable, Pivot Length (default: 2, min 1).
- Colors & Appearance: Full control over bullish/bearish hues for all lines, zero, bands, divergence, and text.
Gradients & Transparency:
- Fast B → Zero: 75 (default)
- Fast A ↔ B fill: 50
- Band gradients: 40
- Toggle each gradient independently
█ USAGE EXAMPLES
The indicator allows users to configure various strategies manually, though no built-in alerts exist for them. Entry signals can include color of fast lines, crossovers between different lines, alignment of colors across lines, or consistency in direction.
- Trend Confirmation: Slow Line above zero + green = bullish bias; below + red = bearish.
- Entry Timing: Buy on Fast A crossing above –30 (circle marker), especially if Slow Line is rising or near zero.
- Reversal Setup: Bullish divergence (“Bull” label) + Fast A in oversold + green gradient band = high-probability long.
- Scalping: Fast A vs Fast B crossover in direction of Slow Line trend.
- Noise Reduction: Increase extraSmoothLen on Slow Line
█ USER NOTES
- Best combined with volume, support/resistance, or trend channels.
- Adjust lookback and smoothing to asset volatility.
- Divergence delay = pivotLength; plan entries accordingly.
XAUUSD Best Strategy - Buy/Sell SignalsThe best strategy to trade XAUUSD (gold) often depends on your trading style and market conditions, but several high-probability approaches are recommended by top traders and industry experts for both scalping and swing trading.
Trend-Following Using EMAs
Use a combination of 9-period and 21-period Exponential Moving Averages (EMA) on the 5-minute or 15-minute chart.
Enter long when the 9 EMA crosses above the 21 EMA, especially when overall trend aligns with higher timeframes (such as H1 or H4).
Confirm entries with an RSI value above 50 for buys (or below 50 for sells).
Set stop loss just below the latest swing low for long positions.
Ideal for fast-moving, trending sessions (London and New York overlap).
Turtles StrategyBorn from the 1980s "Turtle" experiment, this method of trading captures breakouts and places or closes trades with intrabar entries or exits and realized-equity risk controls.
How It Works
The strategy buys/sells on breakouts from recent highs/lows, using ATR for volatility-adjusted stops and sizing. It risks a fixed % (default 1%) of realized equity per trade—initial capital plus closed P&L, ignoring open positions for conservatism. Drawdown protection auto-reduces risk by 20% at 10% drops (up to three times), resetting only on full peak recovery. Single positions only, with 1-tick slippage simulated for realistic fills. Best for trending assets like forex,commodities, crypto, stocks. Backtest for optimal parameters.
Main Operations
The strategy works on any timeframe but it's meant to be used on daily charts.
Entry Signals:
Long: Buy-stop 1 tick above 20-bar high (default "Entry Period") when no position—enters intrabar on breakout.
Short: Sell-stop 1 tick below 20-bar low. OCA cancels opposites.
Size: (Realized equity × adjusted risk %) ÷ (2× ATR stop distance), scaled by point value.
Exit Signals:
Longs: Stop at tighter of (entry - 2× ATR) or (10-bar low - 1 tick trailing, default "Exit Period").
Shorts: Stop at tighter of (entry + 2× ATR) or (10-bar high + 1 tick trailing).
Locks profits in trends, exits fast on fades.
Risk Controls:
Tracks realized equity peak.
10% drawdown: Risk ×0.8; 20%/30%: Further ×0.8 (max 3x).
Full reset above peak—preserves capital in slumps.
[FGL] Stochastic ATR Trend IndicatorThis indicator:
Detects trend direction using ATR-based dynamic bands around SMA.
Generates buy/sell signals using Stochastic crossover conditions filtered by trend.
Colors candles to show trend direction.
Plots a visual “trend zone” band on the chart.
INPUT PARAMETERS:
Stochastic Length → Period for the stochastic oscillator.
Smooth K and Smooth D → Smoothing parameters for %K and %D lines.
ATR Length → Period used for SMA-based trend detection.
LOGIC FLOW
Determine trend using long ATR-based SMA channel.
Detect momentum change with Stochastic cross.
Confirm both momentum and price align with trend.
Generate buy/sell signal + change candle color.
STRATEGIC INTERPRETATION
Best use: Trend-following momentum entries.
Avoids: Countertrend false signals by filtering with trend value.
Signals:
Buy: In uptrend + bullish stochastic crossover.
Sell: In downtrend + bearish stochastic crossover.
Market Structure Volume ProfileThis indicator visualizes volume profiles that are dynamically anchored to market structure events, rather than fixed time intervals. It builds these profiles using high-resolution intra-bar data to provide a precise view of where value is established during critical market phases.
Key Features:
Event-Based Profile Anchoring: The indicator starts a new profile based on one of three user-selected events ('Profile Anchor'):
Swing: A new profile begins when the 'impulse baseline' (derived from intra-bar delta) changes. This baseline adjusts when a new price pivot is confirmed: When a price high forms, the baseline moves to the lower of its previous level or the peak delta (max of delta O/C) at the pivot. When a price low forms, it moves to the higher of its previous level or the trough delta (min of delta O/C) at the pivot.
Structure: A new profile begins immediately on the bar that confirms a market structure break (e.g., a new HH or LL, based on a sequence of price pivots).
Delta: A new profile begins immediately on the bar that confirms a break in the cumulative delta's market structure (e.g., a new HH or LL in the delta). Both 'Swing' and 'Delta' anchors are derived from the same continuous (non-resetting) Cumulative Volume Profile Delta (CVPD), which is built from the intra-bar statistical analysis.
Statistical Profile Engine: For each bar in the anchored period, the indicator builds a volume profile on a lower 'Intra-Bar Timeframe'. Instead of simple tick counting, it uses advanced statistical models:
Allocation ('Allot model'): 'PDF' (Probability Density Function) distributes volume proportionally across the bar's range based on an assumed statistical model (e.g., T4-Skew). 'Classic' assigns all volume to the close.
Buy/Sell Split ('Volume Estimator'): 'Dynamic' applies a model that analyzes candle wicks and recent trend to estimate buy/sell pressure. 'Classic' classifies all volume based on the candle color.
Visualization & Lag: The indicator plots the final profile (as a polygon) and the developing statistical lines (POC, VA, VWAP, StdDev).
Note on Lag: All anchor events require Pivot Right Bars for confirmation.
In 'Structure' and 'Delta' mode, the developing lines (POC, VA, etc.) are plotted using a non-repainting method (showing the value from pivRi bars ago).
In 'Swing' mode, the profile is plotted retroactively, starting from the bar where the pivot occurred. The developing lines are also plotted with this full pivRi lag to align with the past data.
Flexible Display Modes: The finalized profile can be displayed in three ways: 'Up/Down' (buy vs. sell), 'Total' (combined volume), and 'Delta' (net difference).
Dynamic Row Sizing: Includes an option ('Rows per Percent') to automatically adjust the number of profile rows (buckets) based on the profile's price range.
Integrated Alerts: Includes 13 alerts that trigger for:
A new profile reset ('Profile was resetted').
Price crossing any of the 6 developing levels (POC, VA High/Low, VWAP, StdDev High/Low).
Alert Lag Assumption: In 'Swing' mode, alerts are delayed to match the retroactively plotted lines. In 'Structure' and 'Delta' modes, alerts fire in real-time based on the current price crossing the current (repainting) value of the metric, which may differ from the non-repainting plotted line.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This includes the values used for real-time alerts in 'Structure' and 'Delta' modes.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Periodic Volume ProfileThis indicator visualizes volume profiles that are dynamically anchored to market structure events, rather than fixed time intervals. It builds these profiles using high-resolution intra-bar data to provide a precise view of where value is established during critical market phases.
Key Features:
Event-Based Profile Anchoring: The indicator starts a new profile based on one of three user-selected events ('Profile Anchor'):
Swing: A new profile begins when the 'impulse baseline' (derived from delta) changes. This baseline adjusts when a new price pivot is confirmed: When a price high forms, the baseline moves to the lower of its previous level or the peak delta (max of delta O/C) at the pivot. When a price low forms, it moves to the higher of its previous level or the trough delta (min of delta O/C).
Structure: A new profile begins immediately on the bar that confirms a market structure break (e.g., a new HH or LL, based on a sequence of price pivots).
Delta: A new profile begins immediately on the bar that confirms a break in the cumulative delta's market structure (e.g., a new HH or LL in the delta).
Statistical Profile Engine: For each bar in the anchored period, the indicator builds a volume profile on a lower 'Intra-Bar Timeframe'. It uses:
Statistical Models ('Allot model'): Distributes volume across price levels using 'PDF' (Probability Density Function) or 'Classic' (close) methods.
Buy/Sell Classifiers ('Volume Estimator'): Splits volume using a 'Dynamic' (trend/wick-based) or 'Classic' (candle color) model.
Note on Anchor Lag: The different anchor types have different delays. 'Structure' and 'Delta' profiles begin in real-time on the confirmation bar. The 'Swing' profile calculation is plotted retroactively to the pivot's origin, as the pivot is only confirmed Pivot Right Bars after it occurs.
Flexible Visualization Modes: The finalized profile (plotted at the end of each period) can be displayed in three ways: 'Up/Down' (buy vs. sell), 'Total' (combined volume), and 'Delta' (net difference).
Developing Real-Time Metrics: The indicator plots the developing Point of Control (POC), Value Area (VA), VWAP, and Standard Deviation bands in real-time as the new profile forms.
Dynamic Row Sizing: Includes an option ('Rows per Percent') to automatically adjust the number of profile rows (buckets) based on the profile's price range, maintaining a consistent visual density.
Integrated Alerts: Includes 13 alerts that trigger for:
A new profile reset ('Profile was resetted').
Price crossing any of the 6 developing levels (POC, VA High/Low, VWAP, StdDev High/Low).
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.






















